#100. 螺旋方阵
螺旋方阵
说明
一个n行n列的螺旋方阵可以按如下方法生成。
从方阵的左下角(第n行第1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则左转。重复上述操作直到经过所有格子。根据经过的顺序在方格中依次填入1到n*n,便形成了一个螺旋方阵。
下面是一个n=4的螺旋方阵。
从方阵的左下角(第n行第1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则左转。重复上述操作直到经过所有格子。根据经过的顺序在方格中依次填入1到n*n,便形成了一个螺旋方阵。
下面是一个n=4的螺旋方阵。
10 | 9 | 8 | 7 |
11 | 16 | 15 | 6 |
12 | 13 | 14 | 5 |
1 | 2 | 3 | 4 |
输入
一行,整数N (1≤N≤30)
输出
共N行,每行N个正整数,每个正整数占5列(请使用printf("%5d", a[i][j]);输出每个元素)
样例
5
13 12 11 10 9
14 23 22 21 8
15 24 25 20 7
16 17 18 19 6
1 2 3 4 5