#1527. “王”棋子问题

“王”棋子问题

题目描述

给定一个n×n\red{n×n}格的棋盘2<=n<=20\red{(2<=n<=20)},将这个棋盘中的方格按如下图所示的方式编号,一只“王”棋子放在该棋盘中的一个任意编号位置上,规定“王”棋子只能往上、下、左、右相邻四个方向移动且每次只移动一步。现要求编制一个程序,让“王”棋子走n21\red{n^2-1}步,就能走遍棋盘上所有的方格,每个方格只能访问一次。从棋子的起始位置

开始,输出一种走法的编号序列。否则输出“No Path”。当n=4\red{n=4}时编号情况如下:

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

螺旋方阵

输入格式

两个整数NM\red{N、 M}N\red{N}表示棋盘规格,M\red{M}表示“王”棋子起始位置编号)

输出格式

输出螺旋矩阵,每个数占四列,接着输出一条走法路径(数之间用一空格隔开),或输出无解信息。

样例

输入样例1

4 1

输出样例1

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

输入样例2

5 2

输出样例2

No Path