您的位置:首页 > 其它

南邮 OJ 2062 凯撒密码

2015-08-08 10:47 513 查看


凯撒密码

时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte

总提交 : 110 测试通过 : 55

比赛描述

据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F)。
而你要获得消息原文,也就是要将这个过程反过来。
对应表如下:
密码字母:A B C D E F G H I J K L M N
O P Q R S T U V W X Y Z

原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
那么问题来了,现在yuman手上有一篇密文,你能帮他翻译成明文么?

输入

先输入一个正整数T,表示样例数(1<=T<=1000)
对于每一个样例,先输入一个正整数n,代表字符串的长度(1<=n<=1000)

然后再输入一个长度为n的字符串,保证字符串中只含有大写字母;

输出

输出密文翻译出的明文;

样例输入

3

1

N

4

QTAJ

3

DTZ

样例输出

I

LOVE

YOU

题目来源

yuman

#include<iostream>
int main(){
int t,n;
char c;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
getchar();
while(n--){
c=getchar();
c = (c+26-5-'A')%26+'A';
putchar(c);
}
getchar();
putchar('\n');
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: