- 题解
huluancun
- 2024-1-12 12:20:04 @
#include <bits/stdc++.h>
using namespace std;
int a[100][100];
int main()
{ int n,m;
cin>>n;
m=n;
int d1[]={0,1,0,-1};
int d2[]={1,0,-1,0};
for(int x=0,y=0,s=0,k=1;k<=n*m;k++)
{
a[x][y]=k;
int c=x+d1[s],d=y+d2[s];
if(c<0||c>=n||d<0||d>=m||a[c][d])
{
s=(s+1)%4;
c=x+d1[s];
d=y+d2[s];
}
else c=c,d=d;
x=c;
y=d;
}
for(int i=0;i<n;i++)
{ for(int j=0;j<m;j++)
{
printf("%3.d", a[i][j]);
}
cout<<endl;
}
return 0;
}
终于补好了
0 comments
No comments so far...