typedef struct direct {
int r,c,pathnum ; }dir ;
这里r表示棋盘的行数,c表示棋盘的列数,pathnum用来标志可走方向数。
(3)探寻路径函数Findway()
Findway() 函数功能介绍:定义一个结点类型数组,用于存放8个下一步可踩入结点的信息;其中通过一个while循环来对各个方向进行探寻,并通过一个for循环语句寻找当前位置的八个方向中的可走方向数最少的方向作为新的方向,期间调用pathnum() 函数,该函数功能是记录所有下一个可踩入结点的可执行路径数目);选择下一个结点中路径最少的结点为下一个踩入的结点;在进入下一个踩入点前,先保存该结点的信息并输出,然后依次寻找下一个结点;
(4)主函数
在main()函数中,我们先输入马在棋盘上的一个初始位置(这里表示坐标的两个数必须在大于等于0并且小于等于7),然后通过调用Findway()函数,可以以三维坐标的形式输出每次马所走的位置的横纵坐标和此时的序号数,此时board[i][j]数组已经记下了马所走的路径,,最后通过一个for循环语句将马走的路径以棋盘的形式输出。就解决了整个马踏棋盘问题。
2.主要流程图