如果你没有dfs基础,可以先看看我的前2篇文章
C语言递归+DFS(深度优先搜索算法)详解 图文并茂,手把手教你画树状图
一.题目描述
我们先来解决迷宫问题的初级版。(洛谷B3625)
二.图文解析
我们先用一个样例来分析一下迷宫怎么走(灰色阴影代表墙不能走)
。
我们首先需要明白dfs的特点:不撞南墙不回头。对于一条路径,它会从起点一直走到此路不通的位置或者终点。但对于任意一个位置,有上下左右四个方向,程序又该怎么走呢?所以我们需要规定一个顺序->右下左上
准备工作做好了,我们就可以自己模拟程序的思路来走走迷宫了。
(走到一个位置就打勾,标记该位置已经走过,对应代码里该位置的状态设置为1)