记录编号 343161 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]Vigenère密码 最终得分 100
用户昵称 Gravatarzeppoe 是否通过 通过
代码语言 Pascal 运行时间 0.033 s
提交时间 2016-11-08 22:06:08 内存使用 0.17 MiB
显示代码纯文本
var
m,k:ansistring;
i,n,l:longint;
t:char;
begin
assign(input,'vigenere.in');
assign(output,'vigenere.out');
reset(input);
rewrite(output);

readln(k);
l:=length(k);
readln(m);
for i:=1 to l do if ord(k[i])<91 then k[i]:=chr(ord(k[i])+32);
for i:=1 to length(m) do
begin
n:=(n+1) mod length(k);
if n=0 then n:=length(k);

t:=chr(ord(m[i])-ord(k[n])+ord('a'));
if ((m[i]in['a'..'z'])=(t in['a'..'z']))and((m[i]in['A'..'Z'])=(t in['A'..'Z']))
then m[i]:=t
else m[i]:=chr(ord(t)+26);
end;
writeln(m);
close(input);
close(output);
end.