ABC D求调
  • 板块灌水区
  • 楼主A_Secret_Boy
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/10/19 22:21
  • 上次更新2024/10/20 08:45:20
查看原帖
ABC D求调
1242313
A_Secret_Boy楼主2024/10/19 22:21

code:

//Name:Lazy_doghead
#include<bits/stdc++.h>
using namespace std;
int n,l,i,z,p,q,u[200010],o;
bool k;
string t[200010];
queue<int>m;
void bfs(int y){
	int j;
	for(j=1;j<=o;j++)m.push(u[j]);
	o=0;
	k=false;
	while(!m.empty()){
		k=true;
		for(j=1;j<=n;j++){
			if(t[m.front()][j]=='1'){
				if(j==1){
					cout<<y;
					exit(0);
				}
				u[++o]=j;
			}
		}
		m.pop();
	}
	if(!k){
		cout<<-1;
		exit(0);
	}
	bfs(y+1);
}
int main(){
	cin>>n>>l;
	for(i=1;i<=n;i++){
		for(z=1;z<=n;z++)m[i][z]='0';
	}
	for(i=1;i<=l;i++){
		cin>>p>>q;
		t[p][q]='1';
	}
	m.push(1);
	bfs(1);
	return 0;
}

这是萌新第一次写bfs,全RE求调

2024/10/19 22:21
加载中...