#B1306. 蛇形填数

蛇形填数

【题目描述】

给定正整数 nn,将 11 到 n2n^2 填入 n×nn\times n 方阵。

数字 11 位于右上角,之后按向下、向左、向上、向右的方向循环前进,遇到边界或已经填过的格子时右转,直到所有格子填满。


【输入描述】

输入一行一个整数 nn。

保证:

  • 1≤n≤301\le n\le 30。

【输出描述】

输出 nn 行,每行 nn 个整数,表示填好的方阵。


【样例 1】

【样例 1 输入】

4

【样例 1 输出】

10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

【样例 1 解释】

数字依次沿外圈向下、向左、向上、向右填写,再进入内圈。


【样例 2】

【样例 2 输入】

5

【样例 2 输出】

13 14 15 16 1
12 23 24 17 2
11 22 25 18 3
10 21 20 19 4
9 8 7 6 5