30分求助
查看原帖
30分求助
253527
GuideZombies楼主2020/5/23 21:11
#include<bits/stdc++.h>
using namespace std;
int n,m,q,u,v,i,l,a;
bool conveyor[1001][1001],tag;
void dfs(int x,int layer){
	int j;
	if(layer==l+1){
		if(x==a){
			tag=1;
		}return;
	}
	for(j=1;j<=n;j++) if(conveyor[x][j]) dfs(j,layer+1);
	return;
}int main(){
	cin>>n>>m>>q;
	for(i=1;i<=m;i++){
		cin>>u>>v;
		conveyor[u][v]=conveyor[v][u]=1;
	}for(i=1;i<=q;i++){
		cin>>a>>l;
		dfs(1,1);
		if(tag) cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
		tag=0;
	}return 0;
}
2020/5/23 21:11
加载中...