题目描述
给出原信息和加密后的信息,把其中每个字母在加密信息中找到对应的密字,再用来翻译司令部要求的信息,如果有某个字符没有相应的密字或有自相矛盾就输出“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.
转载请注明原文地址: https://ju.6miu.com/read-659840.html