E - I Love You Too解题报告(张宇)
来源:互联网 发布:淘宝纸盒加工厂前景 编辑:程序博客网 时间:2024/05/16 19:57
题意:给出一串长度不大于1000的数字,按每两个数字对应一个字母来解密(如图,即手机按键上的字母,如22代表B),解密后在根据解密对应的编码【3】来得到字母串,然后拆成两半(前部分不短于后部分),再按照【4】重新得到字母串,最后反序输出该字母串就ok啦。(貌似此密码很让人头疼呀。。。。别急,一步一步来,题目并不难)
- #include<iostream>
- using namespace std;
- int main()
- {
- char a[1010];
- char b[505];
- char c[252];
- char d[252];
- char ans[505];
- char x[8][5]={"KXV","MCN","OPH","QRS","ZYI","JADL","EGW","BUFT"}; //已经按照密码定义了
- while(scanf("%s",a)!=EOF)
- {
- int i,j,k;
- for(i=0,j=0;i<strlen(a);i+=2,j++)
- {
- a[i]-='0'; //把字符转化为数字
- a[i+1]-='0';
- b[j]=x[a[i]-2][a[i+1]-1]; //求出每两个数字对应的一个字母
- }
- //要把字母串分成两个部分,而且前部分不短于后部分
- for(i=0;i<((strlen(a)/2)+1)/2;i++)
- c[i]=b[i];
- for(j=i,k=0;j<strlen(a)/2;j++,k++)
- d[k]=b[j];
- j=0;k=0;
- //再把两个字母串合并
- for(i=0;i<strlen(a)/2;i++)
- {
- if((i+1)%2!=0)
- ans[i]=c[j++];
- else
- ans[i]=d[k++];
- }
- for(i=strlen(a)/2-1;i>=0;i--)
- printf("%c",ans[i]);
- printf("\n");
- }
- return 0;
- }
- E - I Love You Too解题报告(张宇)
- E - I Love You Too解题报告
- E - I Love You Too解题报告(陈渊)
- I Love You Too
- I Love You Too
- hd2816 I Love You Too
- HDU - 2816 I Love You Too(水)
- HDOJ I Love You Too (第一周)
- I Love You Too 2816 (字符串 好题)
- I - An Easy Problem!解题报告(张宇)
- I LOVE YOU TOO密码解析
- I LOVE YOU TOO密码解析
- hdu 2816 I Love You Too
- HDU-2816 I Love You Too【字符串】
- HDU 2816 I Love You Too
- HDU---2816 I LOVE YOU TOO
- hdu-2816 I Love You Too
- HDU 2816 ( I Love You Too )
- Struts2+Hibernate 实现数据分页
- 第九周 任务3
- 实体层次设计
- Oracle DBA
- myeclipse+tomcat无法进行断点调试的问题
- E - I Love You Too解题报告(张宇)
- H - Climbing Worm解题报告(张宇)
- A - A hard puzzle解题报告(张宇)
- SQL Server 2008 Express 安装或卸载时提示“重启计算机失败"的解决办法
- Writing Linux LCD drivers—深入分析framebuffer设备驱动的结构
- 上位机/下位机
- VS2010MDI子菜单操作代码
- 解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- 组态软件 SCADA