HDOJ 1048 The Hardest Problem Ever
题目
分类
模拟 加密解密
题意
文本加密解密题目
标点符号不变 将 ‘A’ - ‘Z’看成一个环
加密 时将字母替换为 其后 第五个5个字母
解密相反例如 :
IN WAR, 加密
原字符 加密字符 I N N S space space W B A F R W , , 加密为 NS BFW,
解密同理
题解
直接模拟解密 即可
其实是 凯撒密码 的原理
有兴趣的同学可以点击查看
代码
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main()
{
string s;
char t;
while(getline(cin,s) && s != "ENDOFINPUT")
{
if(s == "START" || s == "END")
continue;
for(int i = 0;i < s.length();i++)
{
if(!isupper(s[i]))
continue;
t = s[i] - 5;
if(t < 'A')
{
t += ('Z' - 'A' + 1);
}
s[i] = t;
}
cout << s << endl;
}
return 0;
}