#include<cstdio>
#include<string>
int f[27];
bool isok;
int n;
struct S
{
char start,end;
};
S *s;
void dfs(char k)
{
if(isok)return;
int i;
if(k=='m')
{
isok=true;
return;
}
else
for(i=0;i<n;i++)
if(s[i].start==k&&f[s[i].end-'a']==0)
{
f[s[i].end-'a']=1;
dfs(s[i].end);
f[s[i].end-'a']=0;
}
}
int main()
{
char str[100];
while(gets(str))
{
s=new S[1000];
n=0;
if(strcmp(str,"0\0")==0){printf("No.\n");continue;}
else
{
int len=strlen(str);
s[n].start=str[0];
s[n++].end=str[len-1];
}
while(gets(str))
{
if(strcmp(str,"0\0")==0)break;
else
{
int len=strlen(str);
s[n].start=str[0];
s[n++].end=str[len-1];
}
}
isok=false;
dfs('b');
if(isok)printf("Yes.\n");
else printf("No.\n");
}
return 0;
}
hdu1811
最新推荐文章于 2020-05-06 13:56:36 发布