图论 + bfs
2023-08-19 21:41:32
发布于:上海
29阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,m,a,b,x,y;
vector<int> v[N];
int vis[N];
bool bfs(){
queue<int> q;
vis[a]=1;
q.push(a);
while(!q.empty()){
int t=q.front();
q.pop();
if(t==b) return true;
for(int i=0;i<v[t].size();i++){
int tt=v[t][i];
if(!vis[tt]){
vis[tt]=1;
q.push(tt);
}
}
}
}
int main(){
cin>>n>>m>>a>>b;
for(int i=1;i<=m;i++){
cin>>x>>y;
v[x].push_back(y);
}
if(bfs()) cout<<"Yes";
else cout<<"No";
return 0;
}
这里空空如也
有帮助,赞一个