WOJ1055-The Hardest Problem Ever

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 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".

输出格式

For each data set, there will be exactly one line of output. This is the original message by Caesar.

样例输入

START
HTSLWFYZQFYNTSX, DTZ'A XTQAJI YMJ MFWIJXY UWTGQJR JAJW!
END
START
OZQNZX HFJXFW QNAJI NS F YNRJ TK IFSLJW FSI NSYWNLZJ.
END
START
YMJ MFWIJXY XNYZFYNTS HFJXFW JAJW KFHJI BFX PJJUNSL MNRXJQK FQNAJI.
END
ENDOFINPUT

样例输出

CONGRATULATIONS, YOU'V SOLVED THE HARDEST PROBLEM EVER!
JULIUS CAESAR LIVED IN A TIME OF DANGER AND INTRIGUE.
THE HARDEST SITUATION CAESAR EVER FACED WAS KEEPING HIMSELF ALIVED.

#include<stdio.h>
#include<string.h>
char start[15];
char cipher[205];
char end[5];
int main(){
	int len,i;
	while(scanf("%s",&start)&&strcmp(start,"ENDOFINPUT")){
		getchar();
		gets(cipher);
		i=0;
		while(cipher[i]!='\0'){
			if(cipher[i]>='A'&&cipher[i]<='Z'){
				cipher[i]-=5;
				if(cipher[i]<'A')
				cipher[i]=cipher[i]+26;
			}
			i++;
		}
		scanf("%s",&end);
		printf("%s\n",cipher); 
	}
	return 0;
}


全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务