题目描述
Description
迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。
请判断玩家能否从迷宫中走出,如果能走出迷宫输出,输出最短的路径长度,否则输出-1。
输入格式
第一行两个整数n和m,代表n行m列。(1<=n,m<=10)
下面n行每行m个字符,0代表可以通行,1代表不可以通行。
输出格式
如果能从迷宫走出,输出最短的路径长度,否则输出-1。
输入样例
8 8
00100010
00100010
00001100
01110000
00010000
01000100
01110110
00001000
输出样例
16
简单说下
这题的数据量不大,既可以用BFS也可以用DFS.
这题的写法是直接套BFS求最短路径步数的模板,也就是用一个二维数组存储路径步数,最后的ans[n][m]就是所求的答案。这里要注意的是,这题会出现走不出迷宫的情况,所以我们要用一个flag来记录它是否有走不出迷宫的情况,假如走不出,就输出-1.
其实想想flag也是不需要的,我们只需要给数组初始化一个极大值,如果ans【n】【m】为这个极大值那么就说明走不出迷宫。
代码如下:
#inclu