题解(发后好后悔)
2025-04-14 20:28:19
发布于:浙江
22阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;//头文件
int a[200][200];
int main(){
int i=1,j=0;
int k=0;
int n;
cin>>n;
while(k<n*n){
while(a[i][j+1]==0&&j<n)
{
a[i][++j]=++k;
}
while(a[i+1][j]==0&&i<n)
{
a[++i][j]=++k;
}
while(a[i][j-1]==0&&j>1)
{
a[i][--j]=++k;
}
while(a[i-1][j]==0&&i>1)
{
a[--i][j]=++k;
}
if(a[i][j+1]==0){
a[i][++j]=++k;
}
while(a[i+1][j]==0&&i<n)
{
a[++i][j]=++k;
}
while(a[i][j+1]==0&&j<n)
{
a[i][++j]=++k;
}
while(a[i-1][j]==0&&i>1)
{
a[--i][j]=++k;
}
while(a[i][j-1]==0&&j>1)
{
a[i][--j]=++k;
}
if(a[i+1][j]==0)
{
a[++i][j]=++k;
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
//为什么会这样??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
这里空空如也
有帮助,赞一个