提交时间:2024-03-26 16:28:23

运行 ID: 139881

#include<bits/stdc++.h> using namespace std; int n,num=1,a[2000][2000],x=1,y; int main(){ cin>>n; y=n; a[x][y]=num; while(num<n*n){ if(y-1>0)a[x][--y]=++num; else a[++x][y]=++num; while (x+1<=n && y+1<=n)a[++x][++y]=++num; if(x+1<=n)a[++x][y]=++num; else a[x][--y]=++num; while(x-1>0 && y-1>0)a[--x][--y]=++num; } for (int i=1;i<=n;i++){ for(int j=1;j<=n;j++)cout<<setw(5)<<a[i][j]; cout<<endl; } return 0; }