HDU1048 The Hardest Problem Ever(AC代码 + scanf小技巧)

本文介绍了如何利用C++的scanf函数解密凯撒密码。通过读取整行字符串,然后对每个字母进行逆向移位操作,将密文转换回原始的纯文本消息。示例代码和输入输出样例提供了详细的解密过程。
摘要由CSDN通过智能技术生成
  • 题目

朱利叶斯凯撒生活在危险和阴谋的时代。凯撒所面临的最艰难的局面就是让自己活着。为了让他活下来,他决定创造第一个密码之一。这个密码是如此令人难以置信的声音,没有人能够在不知道它是如何工作的情况下解决它。
你是凯撒军队的副队长。你的工作是破译凯撒发送的信息并提供给你的将军。代码很简单。对于明文消息中的每个字母,您将其向右移动五个位置以创建安全消息(即,如果字母为“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

只有字母在此密码中移位。任何非字母字符都应保持不变,并且所有字母字符都是大写字母。

  • Input

此问题的输入将包含最多100个数据集的(非空)系列。每个数据集将根据以下描述进行格式化,并且没有空行分隔数据集。所有字符都是大写的。

单个数据集有3个组件:

起始行 - 单行,“START”

密码消息 - 包含一到两百个字符的单行,包括来自Caesar

End line 的单个消息- 单行“END”

在最终数据集之后将是单行“ENDOFINPUT”。

  • Output

对于每个数据集,将只有一行输出。这是凯撒的原始信息。

  • 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值