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
。。。。。