题意:
把一串字符竖着写成n列,得到一张表。现在横着把表的每行拼成一个字符串,其中奇数行(从0开始)反着拼。给你这个字符串求原来的加密前的字符串。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string words[21];
int main ()
{
string str;
int col;
while ( cin >> col, col )
{
cin >> str;
int row = str.size () / col ;
for ( int i = 0; i < row; ++ i )
{
string temp ( str, i * col, col );
if ( i & 1 )
{
reverse ( temp.begin(), temp.end() );
}
words[i] = temp;
}
for ( int j = 0; j != col; ++ j )
{
for ( int i = 0; i != row; ++ i )
{
cout << words[i][j];
}
}
cout << endl;
}
return 0;
}