#include <bits/stdc++.h>
using namespace std;
int main()
{
int data[39][39]={0};
int n;
cin>>n;
data[0][n/2]=1;
int p=0,q=n/2;
int l=n/2;
for(int i=2;i<=n*n;i++){
if(p==0&&q!=n-1){
data[n-1][++q]=i;
p=n-1;
}
else if(p!=0&&q==n-1){
data[--p][0]=i;
q=0;
}
else if(p==0&&q==n-1){
data[1][q]=i;
p=1;
}
else if(p!=0&&q!=n-1){
if(data[p-1][q+1]==0){
data[--p][++q]=i;
}
else data[++p][q]=i;
}
}
for(p=0;p<n;p++){
for(q=0;q<n;q++){
cout<<data[p][q]<<' ';
}
cout<<endl;
}
}
P2615 [NOIP2015 提高组] 神奇的幻方
最新推荐文章于 2024-09-10 19:16:08 发布