这是我的ac代码,求大佬解答一个问题,看评论,谢谢Orz
#include <bits/stdc++.h>
using namespace std;
char sm[1005],sy[1005],s[1005];
map<char,char> m1,m2;
int main()
{
cin>>sm>>sy>>s;
int len=strlen(sm);
for (int i=0;i<len;i++)
{
if ( ( m1.count(sm[i]) && m1[sm[i]]!=sy[i] ) || ( m2.count(sy[i]) && m2[sy[i]]!=sm[i] ) )
{
printf("Failed");
return 0;
}
else
m1[sm[i]]=sy[i],m2[sy[i]]=sm[i];
}
for (int i=0;i<26;i++)
{
if (!m1.count('A'+i))
{
printf("Failed");
return 0;
}
}
len=strlen(s);
for (int i=0;i<len;i++)
printf("%c",m1[s[i]]);
return 0;
}