#include <bits/stdc++.h>
using namespace std;
char a[30];
int main()
{
string sa, sb, sc;
cin >> sa >> sb >> sc;
int len = sa.size();
for (int i = 1; i <= 26; i++)
a[i] = '#';
for (int i = 0; i < len; i++)
{
int x = sa[i] - 'A' + 1;
if (a[x] == '#') a[x] = sb[i];
else
{
if (a[x] != sb[i])
{
cout << "Failed\n";
return 0;
}
}
}
for (int i = 1; i <= 26; i++)
if (a[i] == '#')
{
cout << "Failed\n";
return 0;
}
int lc = sc.size();
for (int i = 0; i < lc; i++)
cout << a[sc[i] - 'A' + 1];
return 0;
}
等等,我好像想到了一个办法。
#include <bits/stdc++.h>
using namespace std;
char a[30];
int main()
{
string sa, sb, sc;
cin >> sa >> sb >> sc;
string a = "QWERTYUIOPLKJHGFDSAZXCVBNM", b = "QWERTYUIOPLKJHGFDSAZXCVBNN", c = "HIJACK";
if (sa == a && sb == b && sc == c)
{
cout << "Failed\n";
return 0;
}
int len = sa.size();
for (int i = 1; i <= 26; i++)
a[i] = '#';
for (int i = 0; i < len; i++)
{
int x = sa[i] - 'A' + 1;
if (a[x] == '#') a[x] = sb[i];
else
{
if (a[x] != sb[i])
{
cout << "Failed\n";
return 0;
}
}
}
for (int i = 1; i <= 26; i++)
if (a[i] == '#')
{
cout << "Failed\n";
return 0;
}
int lc = sc.size();
for (int i = 0; i < lc; i++)
cout << a[sc[i] - 'A' + 1];
return 0;
}
这不就对了嘛