您的位置:首页 > 其它

hdu 变形课 1181 这道题数据真实若爆了

2011-11-10 13:00 169 查看
我这种路径压缩真是错漏百出,没想到还a了,首先就是若果b对应多个值的话,我这个方法制定wa,说明他的测试数据都是一对一的
#include<iostream>
using namespace std;
char a[1000];
int b[30],vis[30];
int sign;
int find(int t)
{
if(t=='m'-'a')
sign=1;
if(t!=b[t]&&vis[t]==0)
{
vis[t]=1;
find(b[t]);
}
return 0;
}
int main()
{
for(int i=0;i<27;i++)
{
b[i]=i;
}
while(cin>>a)
{
int len=strlen(a);
b[a[0]-'a']=a[len-1]-'a';
if(a[0]=='0')
{
int t='b'-'a';
sign=0;
find(t);
if(sign==1)
printf("Yes.\n");
else
printf("No.\n");
for(int i=0;i<27;i++)
{
b[i]=i;
vis[i]=i;
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: