问题描述
给定一个迷宫,也即一个矩阵,矩阵中由数字0和1 组成,其中,0表示当前位置可以通行,而1表示当前位置是障碍物,如迷宫中的砖墙,无法通行,再给定一个起点和一个目标点,请计算从起点到目标点可行的路径条数。(注:起点和终点一定可通行,即对一个的位置都是0)
解法
这里使用深度优先搜索+回溯的方法进行可行路径的判断
输入输出及状态说明
0–可通行
1–障碍物
迷宫矩阵5x5
{
{0,1,0,0,1},
{0,0,1,1,1},
{1,0,0,0,0},
{1,0,1,1,0},
{1,0,0,0,0},
}
起点 (0,0)
终点(4,4)
输出
起点–>终点的输出路径的条数
如果条数大于0,则输出每一条路径的行进过程
算法描述
import java.util.LinkedList;
/**
* Created by ChaoNi on 2016/9/19.
*/
public class DFS {
//输入的迷宫矩阵
private static int[][] matrix= {
{
0,1,0,0,1},
{
0,0,1,1,1},
{
1,0,0,