poj 1298(水题)
2015-12-03 14:44
417 查看
The Hardest Problem Ever
Description
Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was keeping himself alive. In order for him to survive, he decided to create one of the first ciphers. This cipher was so incredibly sound, that no one could figure it out without knowing how it worked.
You are a sub captain of Caesar's army. It is your job to decipher
the messages sent by Caesar and provide to your general. The code is
simple. For each letter in a plaintext message, you shift it five places
to the right to create the secure message (i.e., if the letter is 'A',
the cipher text would be 'F'). Since you are creating plain text out of
Caesar's messages, you will do the opposite:
Cipher text
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
Plain text
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
Only letters are shifted in this cipher. Any non-alphabetical
character should remain the same, and all alphabetical characters will
be upper case.
Input
Input
to this problem will consist of a (non-empty) series of up to 100 data
sets. Each data set will be formatted according to the following
description, and there will be no blank lines separating data sets. All
characters will be uppercase.
A single data set has 3 components:
Start line - A single line, "START"
Cipher message - A single line containing from one to two
hundred characters, inclusive, comprising a single message from Caesar
End line - A single line, "END"
Following the final data set will be a single line, "ENDOFINPUT".
Output
For each data set, there will be exactly one line of output. This is the original message by Caesar.
Sample Input
Sample Output
Source
South Central USA 2002
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 24241 | Accepted: 13227 |
Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was keeping himself alive. In order for him to survive, he decided to create one of the first ciphers. This cipher was so incredibly sound, that no one could figure it out without knowing how it worked.
You are a sub captain of Caesar's army. It is your job to decipher
the messages sent by Caesar and provide to your general. The code is
simple. For each letter in a plaintext message, you shift it five places
to the right to create the secure message (i.e., if the letter is 'A',
the cipher text would be 'F'). Since you are creating plain text out of
Caesar's messages, you will do the opposite:
Cipher text
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
Plain text
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
Only letters are shifted in this cipher. Any non-alphabetical
character should remain the same, and all alphabetical characters will
be upper case.
Input
Input
to this problem will consist of a (non-empty) series of up to 100 data
sets. Each data set will be formatted according to the following
description, and there will be no blank lines separating data sets. All
characters will be uppercase.
A single data set has 3 components:
Start line - A single line, "START"
Cipher message - A single line containing from one to two
hundred characters, inclusive, comprising a single message from Caesar
End line - A single line, "END"
Following the final data set will be a single line, "ENDOFINPUT".
Output
For each data set, there will be exactly one line of output. This is the original message by Caesar.
Sample Input
START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT
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
Source
South Central USA 2002
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cstdlib> #include<cmath> #include<vector> #include<queue> #include<stack> using namespace std; int main(){ // freopen("in.txt","r",stdin); string s,s1,s2; char m[27]="VWXYZABCDEFGHIJKLMNOPQRSTU"; int j,k; while(cin>>s){ if(s=="ENDOFINPUT") break; cin.ignore(INT_MAX,'\n'); getline(cin,s1,'\n'); j=s1.size(); for(int i=0;i<j;i++){ if(s1[i]>='A'&&s1[i]<='Z') cout<<m[s1[i]-'A']; else cout<<s1[i]; } cin>>s2; cout<<endl; } return 0; }
相关文章推荐
- struts2 配置文件详解
- 在iOS和OSX双平台上的字符串格式化
- HDU 2686 Matrix 最小费用最大流
- Android Chromium的标题代码运行路径
- windows 安装绿色版MYSQL
- maven打war包加入第三方依赖包
- 暴力水题(思路很重要)HDU5583
- java并发编程的转载博客专题
- REST: C#调用REST API (zz)
- Java指令集
- hobt_id 和 partition_ID 理解
- 【转】android新组件RecyclerView使用介绍和进阶使用,替用Gallery
- [推荐] - 业余网站
- ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
- JMeter学习(四)参数化
- acm 2037 水题一个 注意细节- - 然后 没有然后了
- 用jconsole可视化JVM的运行状态
- 【Android实战】RecyclerView实现水平可滚动gridview
- unity3d利用sharesdk分享内容至微信、新浪微博、qq空间等国内主流社交平台(ios篇)
- 微信应用放在tomcat上正常,放到weblogic上回调失败