NOIP 2009 提高组 潜伏者

来源:互联网 发布:快速赚钱 知乎 编辑:程序博客网 时间:2024/06/06 02:40

题目大意:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

题解:

这题枚举就可以了?
没错你没有猜错,数据小的炸
开个数组判断每个字母所对应的密字,或者每个密字所对的字母是否冲突,冲突即退。
然后枚举原信息中是否有不出现的字母,有即退。
然后都没有就枚举题目给出加密信息依次输出对应字母,最后就是原信息了。

var    a,b:array ['A'..'Z'] of char;    k:array ['A'..'Z'] of longint;    s1,s2,s3:string;    i,j,n,m:longint;    c:boolean;    l:char;begin    assign(input,'spy.in'); reset(input);    assign(output,'spy.out'); rewrite(output);    readln(s1);    readln(s2);    fillchar(a,sizeof(a),' ');    fillchar(b,sizeof(b),' ');    for i:=1 to length(s1) do      begin           if ((a[s1[i]]<>s2[i]) and (a[s1[i]]<>' ')) or              ((b[s2[i]]<>s1[i]) and (b[s2[i]]<>' '))               then c:=true;           a[s1[i]]:=s2[i];           b[s2[i]]:=s1[i];      end;    for l:='A' to 'Z' do      if pos(l,s2)=0 then c:=true;    readln(s3);    if c then writeln('Failed')         else begin                 for i:=1 to length(s3) do                   write(a[s3[i]]);              end;    close(input);    close(output);end.
原创粉丝点击