❤ • 14天前
#include <bits/stdc++.h>
using namespace std;
map<int, int> hx,rev_hx;
string s1, s2, s;
int flag = 0, tot = 0;
int main() {
cin >> s2 >> s1 >> s;
for (int i = 0; i < s1.size(); i++) {
int ch2 = (int)s2[i];
int ch1 = (int)s1[i];
if (hx.find(ch2) == hx.end()) {
if (rev_hx.find(ch1) != rev_hx.end()) {
cout << "Failed";
return 0;
}
hx[ch2] = ch1;
rev_hx[ch1] = ch2;
tot++;
} else {
if (hx[ch2] != ch1) {
cout << "Failed";
return 0;
}
}
}
if (tot < 26) {
cout << "Failed";
} else {
for (int i = 0; i < s.size(); i++) {
int val = (int)s[i];
char verb = (char)hx[val];
cout << verb;
}
}
return 0;
}
评论:
请先登录,才能进行评论