Run ID:118239
提交时间:2025-04-26 11:50:10
#include<bits/stdc++.h> using namespace std; int a[21][21]; int main(){ int n,k=1; int x=1; //行 int y=1; //列 cin>>n; a[1][1]=1; while(k<n*n){ //向右 while(y+1<=n && a[x][y+1]==0){ a[x][++y] = ++k; } //向下 while(x+1<=n && a[x+1][y]==0){ a[++x][y] = ++k; } //向左 while(y-1>=1 && a[x][y-1]==0){ a[x][--y] = ++k; } //向上 while(x-1>=1 && a[x-1][y]==0){ a[--x][y] = ++k; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%4d",a[i][j]); } cout<<endl; } }