56人阅读 评论(0)

# Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

# Description

Mo and Larry have devised a way of encrypting messages. They first decide secretly on the number ofcolumns and write the message (letters only) down the columns, padding with extra random letters soas to make a rectangular array of letters. For example, if the message is "There's no place like home ona snowy night" and there are five columns, Mo would write downt o i o yh p k n ne l e a ir a h s ge c o n hs e m o tn l e w xNote that Mo includes only letters and writes them all in lower case. In this example, Mo used thecharacter x' to pad the message out to make a rectangle, although he could have used any letter.Mo then sends the message to Larry by writing the letters in each row, alternating left-to-right andright-to-left. So, the above would be encrypted astoioynnkpheleaigshareconhtomesnlewxYour job is to recover for Larry the original message (along with any extra padding letters) from theencrypted one.

# Input

There will be multiple input sets. Input for each set will consist of two lines. The first line will containan integer in the range 2 . ..20 indicating the number of columns used. The next line is a string of upto 200 lower case letters. The last input set is followed by a line containing a single 0, indicating end ofinput.

# Output

Each input set should generate one line of output, giving the original plaintext message, with no spaces.

# Sample Input

5
toioynnkpheleaigshareconhtomesnlewx
3
ttyohhieneesiaabss
0


# Sample Output

theresnoplacelikehomeonasnowynightx
thisistheeasyoneab


#include<iostream>
#include<cstring>
using namespace std;
char cra[21][101];
char charactor[201];
int main()
{
int n;
while(cin>>n&&n>=2&&n<=20&&n!=0)
{
cin>>charactor;
int len=strlen(charactor);
int row=len/n;
int x=0,y=0;
for(int i=0;i<len;i++)
{
cra[x][y]=charactor[i];
if(x%2==0)
{
y++;
if(y==n)
{
x++;
y--;
}
}
else
{
y--;
if(y==-1)
{
x++;
y++;
}
}
}
for(int j=0;j<n;j++)
{
for(int i=0;i<len/n;i++)
{
cout<<cra[i][j];
}
}
cout<<endl;
}
return 0;

} `

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：4786次
• 积分：513
• 等级：
• 排名：千里之外
• 原创：48篇
• 转载：7篇
• 译文：0篇
• 评论：1条
文章分类
最新评论