/* 功能Function Description: 加密问题 TOJ-1547 开发环境Environment: DEV C++ 4.9.9.1 技术特点Technique: 版本Version: 作者Author: 可笑痴狂 日期Date: 20120801 备注Notes: 题目来源: http://acm.tju.edu.cn/toj/showp1547.html */ #include<stdio.h> #include<string.h> int main() { int n,i,j,k,flag,row; char key[210][21],code[210]; while(scanf("%d",&n),n) { getchar(); gets(code); row=strlen(code)/n; k=0; flag=1; for(i=1;i<=row;++i) { if(flag) { for(j=1;j<=n;++j) key[i][j]=code[k++]; flag=!flag; } else { for(j=n;j>=1;--j) key[i][j]=code[k++]; flag=!flag; } } for(i=1;i<=n;++i) for(j=1;j<=row;++j) putchar(key[j][i]); printf("\n"); } return 0; }