问题描述:设有一个8*8的棋盘,在棋盘上任一点有一个中国象棋“马”,马走的规则为:马走日字;马只能向右走。给出马起始的位置和终点的位置,试找出从起点到终点所有路径的数目。
问题分析:
1、本题可以使用深度搜索发求解,但是效率很低,当路径很多时,不可能在短时间内出解。可以采用动态规划的设计思想。
2、从(x1,y1)位置出发,按照由左到右的顺序定义阶段的方向。位于(x2,y2)的左方且可达(x2,y2)的跳马位置集合都是(x2,y2)的子问题,起点至(x2,y2)的路径数实际上等于起点至这些位置集的路径数之和。可以按照阶段的顺序依次计算每一个阶段每个点的路径数目。