题目描述
输入
输出
样例输入
3
样例输出
8 1 6 3 5 7 4 9 2
#include <bits/stdc++.h>
using namespace std;
#define maxn 201
int n,x,y;
int mp[200][200];
int main()
{
cin>>n;
x=1,y=(n+1)/2;
mp[x][y]=1;
for(int i=2; i<=n*n; i++)
{
if(x==1 && y!=n)
x=n,y++;
else if(x!=1 && y==n)
x--,y=1;
else if(x==1 && y==n)
x++;
else if(!mp[x-1][y+1])
x--,y++;
else x++;
mp[x][y]=i;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
cout<<mp[i][j]<<" ";
cout<<endl;
}
}