jijijji
2023-07-28 16:33:25
发布于:广东
#include<bits/stdc++.h>
using namespace std;
vector<int>mp[200010];
bool vis[200010];
int n,m,a,b;
void bfs(){
queue<int>q;
q.push(a);
vis[a] = true;
while(!q.empty()){
int fr = q.front();
q.pop();
if(fr == b){
cout << "Yes"<<endl;
return;
}
int len = mp[fr].size();
for (int i = 0;i<len;i++){
int te=mp[fr][i];
if(!vis[te]){
vis[te]=true;
q.push(te);
}
}
}
cout<<"No"<<endl;
return;
}
int main(){
cin>>n>>m>>a>>b;
while(m--){
int u,v;
cin>>u>>v;
mp[u].push_back(v);
}
bfs();
return 0;
}
这里空空如也
有帮助,赞一个