#include <stdio.h>
int main()
{
char word[10100];
int T=0;
int N;
int i,j;
char ch;
while(1){
ch=getchar();
if(ch == '\n')break;
T*=10;
T+=ch-48;
}
while(T--){
i=0;
while(1){
word[i]=getchar();
if(word[i] == '\n')break;
i++;
}
j=1;
while(j*j < i){
j++;
}
N=j;
if(N*N != i)printf("INVALID\n");
else{
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%c",word[i+j*N]);
}
}
printf("\n");
}
}
return 0;
}
不管我怎麼寫他不是吃到前面的換行
就是被Killed
不然就是記憶體區段錯誤
到底他是怎麼測的阿!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include
int main()
{
char word[10100];
int T=0;
int N;
int i,j;
char ch;
while(1){
ch=getchar();
if(ch == '\n')break;
T*=10;
T+=ch-48;
}
while(T--){
i=0;
while(1){
word[i]=getchar();
if(word[i] == '\n')break;
i++;
}
j=1;
while(j*j < i){
j++;
}
N=j;
if(N*N != i)printf("INVALID\n");
else{
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%c",word[i+j*N]);
}
}
printf("\n");
}
}
return 0;
}
不管我怎麼寫他不是吃到前面的換行
就是被Killed
不然就是記憶體區段錯誤
到底他是怎麼測的阿!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我突然發現你做了跟我一樣的事XDD
把\r一起判掉就不會RE會WA了(?)
#include
int main()
{
char word[10100];
int T=0;
int N;
int i,j;
char ch;
while(1){
ch=getchar();
if(ch == '\n')break;
T*=10;
T+=ch-48;
}
while(T--){
i=0;
while(1){
word[i]=getchar();
if(word[i] == '\n')break;
i++;
}
j=1;
while(j*j < i){
j++;
}
N=j;
if(N*N != i)printf("INVALID\n");
else{
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%c",word[i+j*N]);
}
}
printf("\n");
}
}
return 0;
}
不管我怎麼寫他不是吃到前面的換行
就是被Killed
不然就是記憶體區段錯誤
到底他是怎麼測的阿!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
過了~~~
別人表示"要判EOF"