这次比赛里最简单的一道题目了...
直接模拟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
米游 阅读(331)
评论(0) 编辑 收藏 引用 所属分类:
ACM