题解
2024-02-13 20:09:43
发布于:浙江
57阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[40][40],n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=0;
a[1][n/2+1]=1;
for(int i=2;i<=n*n;i++){
int hang,lie;
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
if(a[j][k]i-1){
hang=j;
lie=k;
}
if(hang1 && lie!=n)
a[n][lie+1]=i;
if(hang!=1 && lien)
a[hang-1][1]=i;
if(hang1 && lie==n)
a[hang+1][lie]=i;
if(hang!=1 && lie!=n){
if(a[hang-1][lie+1]==0)
a[hang-1][lie+1]=i;
else
a[hang+1][lie]=i;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个