这次比赛里最简单的一道题目了...
直接模拟5次解密过程就可以过的水题..一道出自百度贴吧的真实故事的题目哈哈..
#include<iostream>
#include<cstring>
using namespace std;
char num[10][5]={"","_","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};
char zh1[27]={"QWERTYUIOPASDFGHJKLZXCVBNM"};
char zh[27];
char str[1005];
char c[505];
int main()
{
for(int i=0;i<26;i++)
zh[zh1[i]-'A']='A'+i;
while(gets(str))
{
int len=strlen(str);
int k=0;
for(int i=0;i<len;i+=2)
c[k++]=num[str[i]-'0'][str[i+1]-'0'-1];
len=k;
c[len]='\0';
for(int i=0;i<len;i++)
c[i]=zh[c[i]-'A'];
int l1;
if(len%2==0)
l1=len/2;
else
l1=len/2+1;
int i,j;
char res[505];
k=0;
for(i=0,j=l1;i<l1&&j<len;i++,j++)
{
res[k++]=c[i];
res[k++]=c[j];
}
for(;i<l1;i++)
res[k++]=c[i];
for(;j<len;j++)
res[k++]=c[j];
for(i=k-1;i>=0;i--)
putchar(res[i]);
putchar('\n');
}
return 0;
}
posted on 2009-05-02 20:49
米游 阅读(322)
评论(0) 编辑 收藏 引用 所属分类:
ACM