以一个NxN的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,判断能不能确定一条从开始位置到目标点位置的通路,若能,则输出yes,反之输出no。
深度搜索,个人理解。确定一个方向,一直深入探索,直至尽头之后再返回。
解题思路:
可建立两个二维数组,一个(坐标)ZB[N][N]存放“0”和“1”,另一个(探索)TS[N][N]判断该位置有没有被探索,被探索则为true,反之为false。
依据二维数组输出格式,想象一个坐标图⬇x➡y;从左上角开始移动,一共有四个移动方向,上下左右,则对于x轴则有dx[4]={-1,1,0,0},反之dy[4]={0,0,-1,1}.
用dfs函数探索选择可走的点的坐标,若从开始能走到目标位置,则输出为true即为1.
再用bool check函数判断所要走的点之前有没有被探索,函数里面的条件则是判断该点符不符合要求。