题目:加密和解密,有一个串,如果是平方数(n^2)个字符,则将他们按行写在矩阵(nxn)中,
然后按照列的顺序输出记为结果,如果不是平方数个字符则为非法。
分析:模拟。按照题目模拟即可。
说明:(⊙v⊙)。。。
#include <stdio.h>
#include <math.h>
#include <string.h>
char buf[10001];
int main()
{
int n;
while (~scanf("%d",&n)) {
getchar();
for (int i = 0; i < n; ++ i) {
gets(buf);
int len = strlen(buf);
int n = (int)sqrt(0.1+len);
if (n*n != len) {
printf("INVALID\n");
}else {
for (int d = 0; d < n; ++ d) {
for (int s = 0; s < n; ++ s) {
printf("%c",buf[s*n+d]);
}
}
printf("\n");
}
}
}
return 0;
}