#include<iostream>
#include<cstdio>
#include <iomanip>
using namespace std;
int b[900][900]= {0};
int main()
{
int n;
cin >> n;//一直往一个方向填数,填不动了就转向
int i = 0, j = 0;//行数列数
for (int k = 1; k <= n * n;)
{//向右转
while (j < n&&b[i][j] == 0)
{
b[i][j] = k;
j++;
k++;
}
//向下转
i++;
j--;
while (i < n&&b[i][j] == 0)
{
b[i][j] = k;
i++;
k++;
}
//向左转
j--;
i--;
while (j >= 0 && b[i][j] == 0)
{
b[i][j] = k;
j--;
k++;
}
//向上转
i--;
j++;
while (i >= 0 && b[i][j] == 0)
{
b[i][j] = k;
i--;
k++;
}
j++;
i++;
}
for (int q = 0; q < n; q++)
{
for (int p = 0; p < n; p++)
cout <<setw(3)<< b[q][p];
cout << endl;
}
return 0;
}
10-15
4021

03-13
326

08-04
182

01-10
447
