【问题背景】
zhx 和他的妹子聊天。
【问题描述】
     考虑一种简单的加密算法。
     假定所有句子都由小写英文字母构成, 对于每一个字母, 我们将它唯一地映射到另一个字母。例如考虑映射规则:a->b, b->c, c->d, d->a. 那么单词bad就会被映射为cba。这个映射规则的“逆映射规则”为: b->a, c->b, d->c, a->d。对于密文 cba,我们很容易将它解密为 bad。当然, 这样的映射需要保证每一个字母映射到的字母是不同的(即不可以出现两个不同的字母
映射到同一个字母, 否则将会无法解密)。
     一种常见的密码攻击方式被称为已知明文攻击。 具体地, 在你不知道映射表的情况下, 给你一
段明文和对应的密文,你可以推导出一些的映射规则,下一次你收到一条密文,你就可能可以解密它。现在你需要完成这样的一个系统。
【输入格式】
      第一行包含一个字符串,仅包含小写字母,表示一段明文。
      第二行包含一个字符串,仅包含小写字母,表示这段明文对应的密文,保证两行长度相同。
      第三行包含一个字符串,仅包含小写字母,表示你需要解密的密文。
【输出格式】
      输出共一行,表示输入中第三行密文对应的明文。如果不能解密,输出“ERROR”(不包含引号)。注意输入可能出现不自恰的情况。
【样例输入】
ab
cc
cc
【样例输出】
ERROR

【样例输入】
ab
ab
c
【样例输出】
ERROR

【样例输入】
abcde
bcdea
cad
【样例输出】
bec

【数据范围与规定】
      对于100%的数据, 所有字符串长度<=1000。

这题没什么可说的,简单模拟,需要考虑的特殊情况知道25个字母的映射就可以求出另一个,第一次我就这么被坑了。

 program enc(input,output);
var
f,g:array['a'..'z']of char;
i,l:longint;
j,k:char;
a,b:ansistring;
begin
assign(input,'enc.in');assign(output,'enc.out');reset(input);rewrite(output);
readln(a);readln(b);
l:=length(a);
for j:='a' to 'z' do f[j]:=' ';
for i:= to l do
if f[a[i]]=' ' then f[a[i]]:=b[i]
else if f[a[i]]<>b[i] then begin write('ERROR');close(input);close(output);halt; end;
for j:='a' to 'z' do g[j]:=' ';
for j:='a' to 'z' do if f[j]<>' ' then
begin
if g[f[j]]=' ' then g[f[j]]:=j
else if g[f[j]]<>j then begin write('ERROR');close(input);close(output);halt; end;
end;
i:=;
for j:='a' to 'z' do if f[j]=' ' then inc(i);
if i= then
begin
for j:='a' to 'z' do if f[j]=' ' then break;
for k:='a' to 'z' do if g[k]=' ' then break;
g[k]:=j;
end;
readln(a);
l:=length(a);
for i:= to l do
if g[a[i]]=' ' then begin write('ERROR');close(input);close(output);halt; end
else write(g[a[i]]);
close(input);close(output);
end.

noip模拟题《迷》enc的更多相关文章

  1. 【入门OJ】2003: [Noip模拟题]寻找羔羊

    这里可以复制样例: 样例输入: agnusbgnus 样例输出: 6 这里是链接:[入门OJ]2003: [Noip模拟题]寻找羔羊 这里是题解: 题目是求子串个数,且要求简单去重. 对于一个例子(a ...

  2. NOIP模拟题汇总(加厚版)

    \(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 ...

  3. 9.9 NOIP模拟题

    9.9 NOIP模拟题 T1 两个圆的面积求并 /* 计算圆的面积并 多个圆要用辛普森积分解决 这里只有两个,模拟计算就好 两圆相交时,面积并等于中间两个扇形面积减去两个三角形面积 余弦定理求角度,算 ...

  4. 8.22 NOIP 模拟题

      8.22 NOIP 模拟题 编译命令 g++ -o * *.cpp gcc -o * *.c fpc *.pas 编译器版本 g++/gcc fpc 评测环境 位 Linux, .3GHZ CPU ...

  5. NOIP模拟题17.9.26

    B 君的任务(task)[题目描述]与君初相识,犹如故人归.B 君看到了Z 君的第一题,觉得很难.于是自己出了一个简单题.你需要完成n 个任务,第i 任务有2 个属性ai; bi.其中ai 是完成这个 ...

  6. noip模拟题题解集

    最近做模拟题看到一些好的题及题解. 升格思想: 核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定 ...

  7. NOIP 模拟题

    目录 T1 : grid T2 : ling T3 : threebody 数据可私信我. T1 : grid 题目:在一个\(n*n\)的方格中,你只能斜着走.为了让问题更简单,你还有一次上下左右走 ...

  8. 9.22 NOIP模拟题

    吉林省信息学奥赛 2017 冬令营                                                                                    ...

  9. 6.19 noip模拟题(题目及解析转自 hzwer 2014-3-15 NOIP模拟赛)

    Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...

随机推荐

  1. WPF MVVM从入门到精通6:RadioButton等一对多控件的绑定

    原文:WPF MVVM从入门到精通6:RadioButton等一对多控件的绑定   WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录窗口 WPF MVVM ...

  2. 【转载】Alpha混合物体的深度排序

    原文:Alpha混合物体的深度排序 先说个题外话, 本来我想解答一下最近Creators Club论坛上经常出现的一个问题, 意外的是在网上竟然找不到什么全面的答案.. 这是个有着复杂答案的简单问题: ...

  3. day2 Ubuntu配置源

    1.寻找国内镜像源 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 2.配置source  list源 sources.list系统自带的,源是来U ...

  4. c++编译器处理 函数返回值

    X bar() { X xx; return xx; } // compiler generated temporary X __temp0; ( bar( __temp0 ), __temp0 ). ...

  5. 《C++设计新思维》Command设计模式读后感

    原文内容提领: 本书第5章标题为泛化仿函数,我认为本章真正讲述的内容可以总结出一句话! 如何利用C++老标准实现C++11新标准类似std::function提供的功能. std::function简 ...

  6. pyextend库-accepts函数参数检查

    pyextend - python extend lib accepts(exception=TypeError, **types) 参数: exception: 检查失败时的抛出异常类型 **typ ...

  7. Python 深浅复制

    (一)浅复制 复制列表最简单的方式是使用内置类型的构造方法: >>> l1 = [1, [2, 3], (4, 5)] >>> l2 = list(l1) > ...

  8. 6. 网络信息API

    一.用数值表示socket地址&用名字表示socket地址(socket地址==>IP地址和端口号) 1. 用数值表示socket地址不便于记忆,也不便于扩展(比如从IPv4转移到IPv ...

  9. Arctic Network POJ 2349 (最小生成树思想)

    Description The Department of National Defence (DND) wishes to connect several northern outposts by ...

  10. 王者荣耀交流协会 - 第6次Scrum会议(第二周)

    Scrum master :刘耀泽 工作照片: 照片由刘耀泽(本人)拍摄,组内成员刘耀泽,高远博,王磊,王玉玲,王超,任思佳,袁玥全部到齐. 时间跨度: 2017年10月25日 17:00 — 17: ...