在一个N*N(N<=10)的方阵中,填入1,2,……N*N个数,并要求构成如下的格式:
例如:
N=5
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
N=6
16 17 18 19 20 1
15 30 31 32 21 2
14 29 36 33 22 3
13 28 35 34 23 4
12 27 26 25 24 5
11 10 9 8 7 6
输入格式
每个测试文件只包含一组测试数据,每组输入一个N。
输出格式
输出构成的方阵。
输入样例 复制
5
输出样例 复制
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
数据范围与提示
6
-------------------------
16 17 18 19 20 1
15 30 31 32 21 2
14 29 36 33 22 3
13 28 35 34 23 4
12 27 26 25 24 5
11 10 9 8 7 6
算法解析
这道题我使用DFS算法,逐个赋值。
DFS解析:
i,j是当前点坐标,x是方向,y是当前序号。
递归边界:当前序号大于n,即数组已全部赋值完毕。
转向:当a[i][j]已赋值或i,j出界