1744: 马的遍历

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:55 解决:22

题目描述

中国象棋半张棋盘如图4(a)所示。马自左下角往右上角跳。今规定只许往右跳,不许往左跳。比如图4(a)中所示为一种跳行路线,并将所经路线打印出来。打印格式为:0,0->2,1->3,3->1,4->3,5->2,7->4,8…


【算法分析】 如图4(b),马最多有四个方向,若原来的横坐标为j、纵坐标为i,则四个方向的移动可表示为:

1: (i,j)→(i+2,j+1); (i<3,j<8)

2: (i,j)→(i+1,j+2); (i<4,j<7)

3: (i,j)→(i-1,j+2); (i>0,j<7)

4: (i,j)→(i-2,j+1); (i>1,j<8)

搜索策略:

S1:A[1]:=(0,0);

S2:从A[1]出发,按移动规则依次选定某个方向,如果达到的是(4,8)则转向S3,否则继续搜索下一个到达的顶点;

S3:打印路径。



样例输入 复制

 

样例输出 复制

1:  0,0-->2,1-->4,2-->3,4-->4,6-->2,7-->4,8
2:  0,0-->2,1-->4,2-->3,4-->1,5-->3,6-->4,8
3:  0,0-->2,1-->4,2-->3,4-->1,5-->2,7-->4,8
4:  0,0-->2,1-->4,2-->2,3-->4,4-->3,6-->4,8
5:  0,0-->2,1-->4,2-->2,3-->4,4-->2,5-->4,6-->2,7-->4,8
6:  0,0-->2,1-->4,2-->2,3-->4,4-->2,5-->0,6-->2,7-->4,8
7:  0,0-->2,1-->4,2-->2,3-->3,5-->2,7-->4,8
8:  0,0-->2,1-->4,2-->2,3-->1,5-->3,6-->4,8
9:  0,0-->2,1-->4,2-->2,3-->1,5-->2,7-->4,8
。。。。。