#Lutece0976. 单偶数阶魔方

单偶数阶魔方

Migrated from Lutece 976 单偶数阶魔方

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

奇数阶魔方矩阵。规律如下:

  1. 首先,将数11置于第一行中间的方格里,然后将相继的数按自然顺序置入右上角的方格内
  2. 当前行若是第一行,下一个数应置入最下行右邻列的方格里,就像把最下行移到了第一行的上边似的
  3. 当前列是最右列时,下一个数应置入第一列的上邻行的方格里,就像把第一列移到最右列的右边似的
  4. 当右上方格已经填有数字或者当前方格在正方形的右上角时,下一个数应置入该方格正下方的相邻方格内

而要构造单偶数阶(n=2(2m+1)n=2(2m+1)魔方,可以先将正方形分成四个大小相等的小正方形AA,BB,CC,DD。记u=n2u=\frac{n}{2},用上面的方法,将11u2u^2的正整数在AA里排成一个魔方,再将u2+1u^2+12u22u^22u2+12u^2+13u23u^23u2+13u^2+14u24u^2分别在BB,CC,DD里排成魔方。将AA的正中间行里从第二列起的mm个方格、其他行里最靠左边的mm个方格里的数字与DD中相应的方格中的数字相互交换。然后再将CC的最右边的m1m-1列的每个方格中的数字与BB中相应的方格中的数字相互交换。这样就形成了一个单偶数阶魔方。下面各图给出了构造方法与步骤。

title

title

title

Input

本题有多组输入数据。第一行是输入数组的组数TT,每组数据占一行,只一个单偶数nn1T101\le T\le 101n<1001\le n<100

Output

对应每组数据,应输出一个构造好的魔方,每个元素后应有一个空格,两组输出数据间应有一个空行。

Samples

1
6
35 1 6 26 19 24 
3 32 7 21 23 25 
31 9 2 22 27 20 
8 28 33 17 10 15 
30 5 34 12 14 16 
4 36 29 13 18 11

Resources

wxiaoping 2009年C语言第九次上机