题解
2023-03-11 20:23:37
发布于:上海
176阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int N,a[40][40],h,l;
int main(){
cin>>N;
a[0][N/2]=1,h=0,l=N/2;
for(int i=2;i<=N*N;i++){
if(h0&&l!=N-1) a[N-1][l+1]=i,h=N-1,l++;
else if(lN-1&&h!=0) a[h-1][0]=i,h--,l=0;
else if(h0&&lN-1) a[h+1][l]=i,h++;
else if(h!=0&&l!=N-1){
if(a[h-1][l+1]0&&h-1>=0&&l+1<=N) a[h-1][l+1]=i,h--,l++;
else a[h+1][l]=i,h++;
}
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(jN-1){
cout<<a[i][j];
}else{
cout<<a[i][j]<<" ";
}
}
cout<<endl;
}
}
这里空空如也
有帮助,赞一个