题目描述

据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第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
(注意: 只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。)

输入

最多不超过 100 个数据集组成,每个数据集之间不会有空行,每个数据集由 3 部分组成:
起始行: START
密码消息:由 1 到 200 个字符组成一行,表示凯撒发出的一条消息.
结束行: END
在最后一个数据集之后,是另一行:ENDOFINPUT。

输出

每个数据集对应一行,是凯撒的原始消息。

样例输入

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

样例输出

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<bits/stdc++.h>
using namespace std;
const int N=210;
char unin[27]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char op[10],code[N];
int main(){while(scanf("%s",op)!=EOF){if(strcmp(op,"ENDOFINPUT")==0) break; ///strcmp比较两个字符串是否相等,相等则返回0 getchar(); ///吸收换行符 gets(code);int n=strlen(code);for(int i=0;i<n;i++){char c=code[i];if(isupper(c)){ ///isupper判断字符是否是大写字母 int t=(c-'A'-5+26)%26;printf("%c",unin[t]);}else{printf("%c",c);}}printf("\n");scanf("%s",op);}return 0;
}

1007: 破译密码相关推荐

  1. Android--仿QQ气泡

    BubbleView.gif 主要利用三角函数和贝塞尔曲线实现粘连效果,角度和坐标对应关系如下 QQ气泡.png /*** qq气泡*/ public class BubbleView extends ...

  2. sicily 1007. To and Fro(破译密码)

    Description: 题目大意:Mo and Larry have devised a way of encrypting messages. They first decide secretly ...

  3. hdu1287 破译密码

    题意: 破译密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  4. PAT-B 1007.素数对猜想

    1007. 素数对猜想 让我们定义 $d_n$ 为:$d_n = p_{n+1} - p_n$,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 $d_n$ 是偶数."素数对 ...

  5. 计算机学院大学生程序设计竞赛(2015’11)1007 油菜花王国

    1007 油菜花王国 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Probl ...

  6. 【PAT】1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想" ...

  7. PAT甲级1007 Maximum Subsequence Sum :[C++题解]DP,最大子序列和、求最优的区间方案

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: dp题. 这道题糅合了两个知识点: dp求最值(区间之和) 动态求区间方案:区间之和相等的条件下:要求区间左端点最靠前,如果左端点相 ...

  8. 百练OJ:1007:DNA排序

    题目链接:1007:DNA排序 描述 现在有一些长度相等的DNA串(只由ACGT四个字母组成),请将它们按照逆序对的数量多少排序. 逆序对指的是字符串A中的两个字符A[i].A[j],具有i < ...

  9. 1007 Maximum Subsequence Sum

    1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A c ...

最新文章

  1. weka平台下手动造.arff的数据
  2. 3dsmax 长动画导入 three.js 转变成 多个动画
  3. 数据结构之快速排序图文详解及代码(C++实现)
  4. 【MFC】工具栏左侧双线效果
  5. 【原创】什么是 wire protocol
  6. 微信内部浏览器私有接口 - WeixinJSBridge介绍
  7. 因虚假广告,顺丰被罚!
  8. flask+apache2+ubuntu
  9. python数值计算速度_提高python数值计算速度
  10. 排序算法之 插入排序
  11. 数据结构:顺序表的基本操作
  12. JRebel:Cannot reactivate, offline seat in use.
  13. chrome://dino/让恐龙无敌的代码
  14. 破解Photoshop cs6
  15. whose UTF8 encoding is longer than the max length 32766
  16. 程序员成为“备胎”的5年,我一直在等...(外包——字节跳动)
  17. Elasticsearch 7.X RESTful 风格 高级查询
  18. 串口控制器,电平脉冲触发,顺序轮换,间歇轮换,电磁阀继电器流水,8路,16路,32路
  19. 数学建模PPT(三)
  20. Android App数据加密

热门文章

  1. 番外篇:研究生心得:研一篇
  2. Redis(三十一)-Redis夺命三问之缓存穿透缓存击穿缓存雪崩
  3. 示坡线高程判断_什么是示坡线
  4. 个人上传:吴恩达课后作业第四周-搭建深层神经网络(英文)
  5. windows系统的服务启动脚本和服务停止脚本
  6. 波士顿动力新年炸场!人形机器人飞身转投工具包,最后体操式落地把人类给整不会了
  7. 简单的老板键功能的实现
  8. 【Qt萌新开发】简易PC微信::只能自娱自乐的实时通信软件
  9. 编程技术的“捷径”—Java持有数据(内有福利)
  10. 2023年我国主要城市地铁站点和线路