简单题目。
/*
* hdu-1181 变形课
* mike-w
* 2011-10-2
* ---------------
* 传递闭包
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 30
#define BUF_SIZE 50
int f[SIZE][SIZE];
char buf[BUF_SIZE];
char c1,c2;
int read(void)
{
memset(f,0,sizeof(f));
while(scanf("%s",buf)!=EOF)
{
if(buf[0]=='0')
return 1;
c1=buf[0];
c2=buf[strlen(buf)-1];
f[c1-'a'][c2-'a']=1;
}
return 0;
}
int main(void)
{
int i,j,k;
#ifndef ONLINE_JUDGE
freopen("1811.in","r",stdin);
#endif
while(read())
{
for(k=0;k<26;k++)
for(i=0;i<26;i++)
if(f[i][k])
for(j=0;j<26;j++)
f[i][j]|=f[k][j];
printf("%s\n",f['b'-'a']['m'-'a']?"Yes.":"No.");
}
return 0;
}