题目描述
给出原信息和加密后的信息,把其中每个字母在加密信息中找到对应的密字,再用来翻译司令部要求的信息,如果有某个字符没有相应的密字或有自相矛盾就输出“Failed”
样例输入
AA
AB
EOWIE
样例输出
Failed
思路
用数组储存每一个字符的密字,如果有重复或有位置空缺就Failed,否则翻译。
var
a,b,c:string;
procedure init;
begin
readln(a);
readln(b);
readln(c);
end;
var
s:array[65..90] of string;
i:longint;
begin
init;
for i:=1 to length(a) do
if (s[ord(a[i])]='')and(s[ord(b[i])]<>b[i]) then
s[ord(a[i])]:=b[i]
else
if b[i]<>s[ord(a[i])] then
begin
writeln('Failed');
exit;
end;
for i:=65 to 90 do
if s[i]='' then
begin
writeln('Failed');
exit;
end;
for i:=1 to length(c) do
write(s[ord(c[i])]);
end.