讨论 / AC飘过 留下代码
刘宇麒 2015-02-06 10:35:03
点我顶贴 收藏 删除
#include<iostream>

#include<cstring>

using namespace std;

char itc(int n)

{

return 'A'+n-1;

}

int cti(char ch)

{

return ch-'A'+1;

}

int main()

{

string s1,s2,s3;

int rpsw[27]={0},psw[27]={0},a1[101]={0},a2[101]={0},a3[101]={0};

bool ua[27]={0},ub[27]={0};

cin>>s1>>s2>>s3;

for(int i=0;i<=s1.length()-1;i++)

{

a1[i+1]=cti(s1[i]);

a2[i+1]=cti(s2[i]);

}

for(int i=0;i<=s3.length()-1;i++)

a3[i+1]=cti(s3[i]);

for(int i=1;i<=s1.length();i++)

{

if(rpsw[a1[i]]!=a2[i]&&rpsw[a1[i]]!=0||psw[a2[i]]!=a1[i]&&psw[a2[i]]!=0){cout<<"Failed"<<endl;return 0;}

rpsw[a1[i]]=a2[i];psw[a2[i]]=a1[i];

ua[a1[i]]=1;ub[a2[i]]=1;

}

for(int i=1;i<=26;i++)if(!ua[i]||!ub[i]){cout<<"Failed"<<endl;return 0;}

for(int i=1;i<=s3.length();i++)cout<<itc(rpsw[a3[i]]);

cout<<endl;

return 0;

}

查看更多回复
提交回复