提交时间:2024-05-05 11:46:53

运行 ID: 39727

#include"bits/stdc++.h" using namespace std; int n,s[105][105],x,y,t,d; int dx[4]={1,0,-1,0}; int dy[4]={0,-1,0,1}; int main(){ cin>>n; x=1; y=n; t=n*n; while(t){ s[x][y]=t; t--; int nx=x+dx[d]; int ny=y+dy[d]; if(nx>n||nx<1||ny>n||ny<1||s[nx][ny]!=0){ d++; d%=4; } x+=dx[d]; y+=dy[d]; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<s[i][j]<<" "; } cout<<endl; } }