Sicily 1155. Can I Post the lette
阿新 • • 發佈:2017-09-20
是否 cpp ostream else flag false sizeof star !=
#include<iostream> #include<memory.h> using namespace std; bool a[200];//標記是否走過 int b[200][200]; int n,m; bool flag; void dfs(int start,int count) { if(start==n-1) { flag=true; return; } else if(start==n) { flag=false; return; } else { for(int i=0;i<n;i++) { if(b[start][i]==0&&!a[i]) { dfs(i,count+1); a[i]=1; } } } } int main(int argc, char **argv) { while(cin>>n&&n!=0) { cin>>m; memset(a,false,sizeof(a)); memset(b,-1,sizeof(b)); int p,q; for(int i=0;i<m;i++) { cin>>p>>q; b[p][q]=0; } flag=false; dfs(0,0); if(flag) { cout<<"I can post the letter"<<endl; } else { cout<<"I can‘t post the letter"<<endl; } } return 0; }
思路:深度搜索每個城市是否存在道路,並用一個數組保存訪問記錄,識別能不能到達終點。
Sicily 1155. Can I Post the lette