Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
93343 陈铎文 方阵填数 C++ Accepted 1 MS 272 KB 656 2024-10-13 12:27:25

Tests(3/3):


Code:

#include<bits/stdc++.h> using namespace std; int main(){ int n,a[21][21]={},dir=0,x,y; cin>>n; x=1,y=n; for(int i=1;i<=n*n;i++){ a[x][y]=i; switch(dir){ case 0: x++; if(x==n or a[x+1][y]!=0){ dir=(dir+1)%4; }break; case 1: y--; if(y==1 or a[x][y-1]!=0){ dir=(dir+1)%4; }break; case 2: x--; if(x==1 or a[x-1][y]!=0){ dir=(dir+1)%4; }break; case 3: y++; if(y==n or a[x][y+1]!=0){ dir=(dir+1)%4; }break; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<a[i][j]<<" "; } cout<<endl; } }