soj 1569. Encrypted SMS
来源:互联网 发布:千兆端口路由器 编辑:程序博客网 时间:2024/05/15 07:06
大水题:
给一个字符串加密的方法:老式手机键盘应该按的次数 + 当前是第几个字符,老式手机键盘按那么多次后得到的字母即加密后的字母。
如对ABCD加密,A应该是1按1次,但是是第1个字符,所以加密成A按2次的样子,变成B,依次加密为BACE。
现在给出加密后的字符串求加密前的样子。注意大小写
#include <iostream>using namespace std;string s;string data[8] = {"ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};int index(char c){for (int i = 7; i >= 0; -- i)if (toupper(c) >= data[i][0]) return i;return -1;}int ind, cod;int main(){while (true){cin >> s;if (s[0] == '#') break;for (int i = s.length()-1; i >= 0; -- i){ind = index(s[i]);cod = (toupper(s[i])-data[ind][0]-i-1+40*data[ind].length()) % data[ind].length();if (toupper(s[i]) == s[i]) s[i] = data[ind][cod];else s[i] = tolower(data[ind][cod]);}cout << s << endl;}}
- soj 1569. Encrypted SMS
- sicily 1569. Encrypted SMS
- soj
- SMS
- SMS
- SMS
- SMS
- sms
- SMS
- SMS
- sms
- SMS
- SMS
- sms
- Oracle Data encrypted
- RMAN Encrypted Backups
- Encrypted Files in Windows
- Encrypted Password UVALive
- POJ 3295.Tautology
- Uva 10392 - Factoring Large Numbers
- Android四大组件是什么?讲讲你对它们的理解?
- 初次Git使用小记(Linux)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- soj 1569. Encrypted SMS
- [宏]_IO, _IOR, _IOW, _IOWR 宏的用法与解析
- 读Doom启示录 有感
- MFC托盘编程
- web应用中集成spring和jbpm4.4
- 托盘编程全接触
- {嵌入式}之DS18B20
- 2013年网站内容建设新趋势
- 买手机应该注意什么事项