http://acm.hdu.edu.cn/showproblem.php?pid=1181
一次AC 没什么细节要注意 就是输入正确 加上dfs 可以 了
View Code
1 #include<stdio.h> 2 #include<string.h> 3 typedef struct node 4 { 5 char c[101]; 6 int f; 7 }st; 8 st q[1001]; 9 int flag; 10 void dfs(int x,int n) 11 { 12 int i,j; 13 if(flag) 14 return ; 15 if(q[x].c[strlen(q[x].c)-1]=='m') 16 { 17 flag = 1; 18 } 19 else 20 { 21 for(i = 1; i <= n ; i++) 22 { 23 if(!q[i].f&&q[i].c[0]==q[x].c[strlen(q[x].c)-1]) 24 { 25 q[i].f = 1; 26 dfs(i,n); 27 } 28 } 29 } 30 } 31 int main() 32 { 33 int j,k=1,num[1001],i=1; 34 while(gets(q[1].c)!=NULL) 35 { 36 int g = 0; 37 flag = 0; 38 q[1].f = 0; 39 if(q[1].c[0]=='b') 40 num[g++] = 1; 41 i=2; 42 while(gets(q[i].c)!=NULL) 43 { 44 q[i].f = 0; 45 if(q[i].c[0]=='b') 46 num[g++] = i; 47 if(strcmp(q[i].c,"0")==0) 48 break; 49 i++; 50 } 51 for(j = 0; j < g ; j++) 52 { 53 if(!q[j].f) 54 { 55 q[j].f = 1; 56 dfs(num[j],i-1); 57 } 58 if(flag) 59 break; 60 } 61 if(flag) 62 printf("Yes.\n"); 63 else 64 printf("No.\n"); 65 } 66 return 0; 67 }
下面这个代码居然也能过。。。这。。。。
1 #include<iostream> 2 using namespace std; 3 char ss[10]; 4 int main(){ 5 int flag=1; 6 while(gets(ss)){ 7 if (strcmp(ss,"0")==0){ 8 if (flag){ 9 printf("Yes.\n"); 10 flag=0; 11 } 12 else 13 printf("No.\n"); 14 } 15 } 16 return 0; 17 }