题意:中文题,就是爽!
AC代码:
#include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> #define INF 0x3f3f3f3f using namespace std; char s[500]; char s1[4000][400]; int dis[4000],k1,f; void dfs(int x) { int l=strlen(s1[x]); char z=s1[x][l-1]; if(z=='m') { f=1; return ; } for(int i=0; i<k1; i++) { if(dis[i]==0&&s1[i][0]==z) { dis[i]=1; dfs(i); } } return ; } int main() { while(~scanf("%s",s)) { k1=0; f=0; if(strcmp(s,"0")==0) { break; } while(~scanf("%s",s)) { if(strcmp(s,"0")==0) { break; } else { strcpy(s1[k1++],s); } } memset(dis,0,sizeof(dis)); int ans=0; for(int i=0; i<k1; i++) { if(s1[i][0]=='b'&&dis[i]==0) { dis[i]=1; dfs(i); } } if(f==1) { printf("Yes. "); } else { printf("No. "); } } return 0; }