恺撒的密码
Description
恺撒时代充满了动荡和危险,恺撒为了保证在战争中传递秘密消息,发明了一种密码。他在所有的信件中将所有的字符按字母顺序向后移动了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
只有字母被替换,而且所有字母都是大写的。
输入:
第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例。每行为一个字符串(长度不超过1000个字符)。
输出:
每行输出一个测试用例的结果。
Sample Input
3
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
Sample Output
IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
#include<iostream>
using namespace std;
char str[1000];
int main()
{
int k;
cin>>k;
while(k--)
{
getchar();
for(int j=0; str[j-1]!='\n';j++)
str[j]=getchar();
int len = strlen(str);
int i = 0;
for( i=0 ; i<len; i++)
{
if('A' <= str[i]&&str[i]<='E')
{
str[i]=(char)(str[i]+21);
}
else if('F'<=str[i]&&str[i]<='Z')
{
str[i]=(char)(str[i]-5);
}
else
str[i]=str[i];
}
for(i = 0;i<len;i++)
cout<<str[i];
}
return 0;
}
分享到:
相关推荐
这是一道比较经典的剪枝题目,如果不仔细考虑到 题目特性,就不能了解到搜索的速度
用c++编写的acm之密码截获问题。可以参考着用下。
ACM ICPC程序设计与分析(C++实现)全本,挺厚的一本书,看的时候抓住关键点去看
包含ACM中常用的c++技巧与模板库,算是一些经验总结和技巧
基于C++的ACM模板
我网上发现的,欢迎大家使用,,对自己提高很有帮助,,的东西,,
acm吃糖果的题目,自己根据提示写的比较简单的代码,欢迎指正
ACM杭电Problem 1002 C++程序 大数相加问题,注意输出的限制
基于C++实现的ACM-ACM竞赛常用模板
北大acm JudgeOnline 1979号 Red and Black题目的C++语言源代码
红黑树(c/c++)实现 acm 数据结构 红黑树(c/c++)实现 acm 数据结构 红黑树(c/c++)实现 acm 数据结构 红黑树(c/c++)实现 acm 数据结构
ACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和...
用于GNURadio的DVB-S2ACM块_C++_Python_源码_下载.zip
ACM程序设计常用算法与数据结构参考
介绍了c++的一些基础知识,以及算法的解答与应用,对初学者很有用,可以参考。。
我测试通过的大数计算模板,遇到一些简单题可以直接代入
poj上面的300道AC题,c++源码,自己写的不会有任何问题。
acm模板acm模板acm模板acm模板acm模板acm模板acm模板acm模板
用C++自己编的,感觉比较简单,定义两个字符数组存储两个大数,再定义一个正西数组存放结果
ACM模板9 C++与 ACM 的结合实例,都是些基础性的东西 供给初学者使用,希望能帮到大家