Hexo指令
新建文章 $ hexo new
$ hexo new "Hexo指令"
数据结构实习
实习内容
一、马踏棋盘
问题描述
将马随机放在国际象棋的8×8棋盘[0~7][0~7]的某个方格中,马按走棋规则进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。编制递归和非递归程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,输出之。
程序代码
棋盘定义
123#define ROW 8#define COL 8#define MAX_STEPS ROW*COL
定义每次的改变的相对坐标
12int move_x[8] = { 1, 2, 2, 1, -1, -2, -2, -1 };int move_y[8] = { 2, 1, -1, -2, -2, -1, 1, 2 };
方法1:DFS(递归)
Dfs 函数是深度优先遍历函数,使用递归方式实现。
接受二维数组 path 表示棋盘,m 和
n 表示当前位置的坐标,edge
表示棋盘边长,count 表示已经访问的格子数。
函数首先判断是否已经访问了所有的格子,如果是则直接返回。
然后判断当前位置是否在棋盘 ...