您的位置:首页 > 其它

hdu 2816 I Love You Too

2010-05-15 00:00 351 查看
#include <iostream>
#include <string>

using namespace
std;

char
dig[1100];
char
map[10][10]={{'A','B','C'},{'D','E','F'},
{
'G','H','I'},{'J','K','L'},
{
'M','N','O'},{'P','Q','R','S'},
{
'T','U','V'},{'W','X','Y','Z'}};
char
str[510];
char
str1[510];
char
str3[510];
char
str2[30][2]={{'Q','A'},{'W','B'},{'E','C'},{'R','D'},
{
'T','E'},{'Y','F'},{'U','G'},{'I','H'},
{
'O','I'},{'P','J'},{'A','K'},{'S','L'},
{
'D','M'},{'F','N'},{'G','O'},{'H','P'},
{
'J','Q'},{'K','R'},{'L','S'},{'Z','T'},
{
'X','U'},{'C','V'},{'V','W'},{'B','X'},
{
'N','Y'},{'M','Z'}};
int
main()
{

while
(gets(dig))
{

int
aa=0,j=0;
for
(int i=0;i<strlen(dig);i+=2)
{

j = i;
str[aa++]=map[dig[j]-'0'-2][dig[j+1]-'0'-1];
}


int
bb=0;
for
(int i=0;i<aa;i++)
{

for
(int k=0;k<26;k++)
if
(str[i]==str2[k][0])
str1[bb++]=str2[k][1];
}

if
(bb%2==0)
{

for
(int i=bb/2-1,k=bb-1;i>=0&&k>=bb/2;k--,i--)
cout<<str1[k]<<str1[i];
}

int
cc=0;
if
(bb%2!=0)
{

for
(int i=bb/2;i>=0;i--)
{

str3[cc]=str1[i];
cc+=2;
}

cc=1;
for
(int i=bb-1;i>bb/2;i--)
{

str3[cc]=str1[i];
cc+=2;
}

for
(int i=0;i<bb;i++)
cout<<str3[i];
}

cout<<endl;
memset(str,0,sizeof(str));
memset(str1,0,sizeof(str1));
memset(str3,0,sizeof(str3));
memset(dig,0,sizeof(dig));
}

return
0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: