南邮 OJ 2062 凯撒密码

凯撒密码

时间限制(普通/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');
	}
}


你可能感兴趣的:(ACM,南邮OJ)