P1071 潜伏者

题目描述

给出原信息和加密后的信息,把其中每个字母在加密信息中找到对应的密字,再用来翻译司令部要求的信息,如果有某个字符没有相应的密字或有自相矛盾就输出“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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值