dfs暴力搜尋
阿新 • • 發佈:2018-12-24
水題!這個題目很簡單,也可以用最短路那些演算法來求是否能走到。我選擇直接暴力搜從1搜到n 看能否到達即可
程式碼如下:
#include<bits/stdc++.h> using namespace std; int head[51],NEXT[4010],to[4010]; int tot=0; bool vist[51]; void add(int u,int v) { NEXT[++tot]=head[u],head[u]=tot,to[tot]=v; } void dfs(int x) { if(vist[x]) { return ; } vist[x]=1; for(int p=head[x]; p; p=NEXT[p]) dfs(to[p]); } int main() { int n,m; int u,v; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); while(cin>>n>>m) { tot=0; memset(head,0,sizeof(head)); memset(vist,0,sizeof(vist)); for(int i=1; i<=m; i++) { scanf("%d%d",&u,&v); add(u,v); } dfs(1); if(vist[n]) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }