您有三种可能WA
1. 字符串里包括了大写字母,小写字母和数字,您需要做一个判断
int trans(char s)
{
if(s<='z'&&s>='a')
{
return s-'a';
}
else if(s>='A'&&s<='Z')
{
return s-'A'+26;
}
else return s-'0'+52;
}
2.记得在每轮初始化时将idx设为0,将所有数组用for清空,并切记要让i和j从0开始,仔细检查您的代码!!!
for(int i=1;i<=idx;i++)
{
for(int j=1;j<=64;j++)
{
son[i][j]=0;
}
cnt[i]=0;
}
idx=0;