题目1538:GrassLand密码
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:327
解决:175
-
题目描述:
-
由于害怕别人偷玩他的新手机,GrassLand总是为其手机加上锁屏密码。但是毫无规律的密码又不方便自己记忆,于是他有了这么一个主意:
首先GrassLand会有一个仅包含小写字母的明文密码,如horse。
然后,他按照九宫格键盘上字母的标注(下图),将字母转化为相应的数字按键。如h出现在按键4上,那么其对应的数字为4。按照这个规则,GrassLand的明文密码被加密为46773。
现在他需要你为他编写一个程序来完成这个加密过程,生成密码。
-
输入:
-
输入包含多组测试数据,每组测试数据一行,包含一个仅包含小写字母的字符串,其长度小于10000。
-
输出:
-
对于每组测试用例,输出为一个仅包含数字的字符串,代表加密后的密码。
-
样例输入:
-
horse strawberry
-
样例输出:
-
46773 7872923779
-
-
#include<iostream> using namespace std; int secret(char a) { if(a>='w')return 9; else if(a>='t')return 8; else if(a>='p')return 7; else if(a>='m')return 6; else if(a>='j')return 5; else if(a>='g')return 4; else if(a>='d')return 3; else return 2; } int main() { int i; string s; while(cin>>s) { for(i=0;i<s.size();++i) cout<<secret(s[i]); cout<<endl; } return 0; } /************************************************************** Problem: 1538 User: 3011216016 Language: C++ Result: Accepted Time:70 ms Memory:1520 kb