#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include <algorithm>
#pragma warning(disable:4996)
using namespace std;
int a[20][20];
int main()
{
int t, n, num = 0, i, j;
scanf("%d", &t);
while (t--)
{
int count = 3;
scanf("%d", &n);
memset(a, 0, sizeof(a));
a[n - 1][(n / 2) + 1] = 2;
a[0][n / 2] = 1;
i = n - 1;
j = (n / 2) + 1;
while (count <= n*n)
{
if (j < n - 1 && i>0)
{
if (a[i - 1][j + 1] == 0)
{
a[i - 1][j + 1] = count;
i--;
j++;
}
else if (a[i + 1][j] == 0)
{
a[i + 1][j] = count;
i++;
}
}
else if (j == n - 1 && i == 0)
{
a[i + 1][j] = count;
i++;
}
else if (j == n - 1)
{
j = 0;
a[i - 1][0] = count;
i--;
}
else if (i == 0)
{
i = n - 1;
a[i][j + 1] = count;
j++;
}
count++;
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
printf("%4d", a[i][j]);
printf("\n");
}
}
return 0;
}
D - AAAA HDU - 1998
最新推荐文章于 2018-04-21 14:32:33 发布