标签:
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 5 bool flag; 6 int n; 7 int used[1005]; 8 9 struct node 10 { 11 char s[10]; 12 }s[1005]; 13 14 void dfs(int cur) 15 { 16 if(flag) 17 return; 18 int len=strlen(s[cur].s); 19 if(s[cur].s[len-1]==‘m‘) 20 { 21 flag=true; 22 return; 23 } 24 for(int i=0;i<n;i++) 25 { 26 if(!used[i]&&s[i].s[0]==s[cur].s[len-1]) 27 { 28 used[i]=1; 29 dfs(i); 30 used[i]=0; 31 } 32 } 33 } 34 35 int main() 36 { 37 char temp[10]; 38 int i,j; 39 flag=i=0; 40 memset(used,0,sizeof(used)); 41 while(scanf("%s",temp)!=EOF) 42 { 43 if(temp[0]==‘0‘) 44 { 45 n=i; 46 for(j=0;j<n;j++) 47 { 48 if(s[j].s[0]==‘b‘) 49 dfs(j); 50 if(flag==true) 51 break; 52 } 53 if(flag) 54 printf("Yes.\n"); 55 else 56 printf("No.\n"); 57 flag=false; 58 i=0; 59 memset(used,0,sizeof(used)); 60 } 61 else 62 strcpy(s[i++].s,temp); 63 } 64 }
标签:
原文地址:http://www.cnblogs.com/homura/p/4703510.html