#include <bits/stdc++.h>
using namespace std;
int nx[25][25];
int x, y;
int k=1;
void huanfang(int n)
{
int f=1;
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
{
if (nx[i][j] == 0)
f = 0;
}
}
if (f == 1)
return ;
k++;
if (y == 1)
y = n;
else
y--;
if (x == n)
x = 1;
else
x++;
if (nx[x][y] == 0)
nx[x][y] == k;
else
{
if (y == n)
{
y = 1;
x = 1;
}
else
y++;
nx[x][y] = k;
}
huanfang(n);
}
int main()
{
int n;
cin >> n;
x = n/2+1;
y = 1;
nx[x][y] = k;
huanfang(n);
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
cout << nx[i][j] << ' ';
cout << endl;
}
return 0;
}
本地运行返回值就很奇怪,一测就是TLE……