#23782: 哪裡有問題QAQ


es811066 (ZIhan)

學校 : 國立臺灣海洋大學
編號 : 108578
來源 : [1.162.17.147]
最後登入時間 :
2024-09-15 13:25:46
b580. 一條蛇 -- 嘉義高中104資料學科能力競賽 | From: [118.166.114.95] | 發表日期 : 2020-12-16 22:34

#include<iostream>

#include<iomanip>

using namespace std;

int main(){

int a;

int l;

cin>>l;

while(l--){cin>>a;

int s[a][a]={0};

int x=(a-1)/2;

int y=x;

s[x][y]=1;

int u=1;

int t=0;

for(int i=1;i<=a*a;){

for(int j=1;j<=u;j++){

if(y+1==a){

t=1;

break;

}

else {

y++;i++;

s[x][y]=i;

 

}

}//right

if(t==1)break;

for(int j=1;j<=u;j++){

x--;i++;

s[x][y]=i;

 

}//up x

u++;

for(int j=1;j<=u;j++){

y--;i++;

s[x][y]=i;

 

}//left

for(int j=1;j<=u;j++){

x++;i++;

s[x][y]=i;

 

}//down x

u++;

}

for(int i=0;i<a;i++){

for(int j=0;j<a;j++){

cout<<setw(4)<<setfill(' ')<<s[i][j];

}

cout<<endl;

}

}

}

 
ZeroJudge Forum