回溯法迷宫问题
思路:利用回溯法和递归思想解决。
- findWay 方法就是专门来找出迷宫的路径
- 如果找到,就返回 true ,否则返回 false
- map 就是二维数组,即表示迷宫
- i,j 就是老鼠的位置,初始化的位置为(1,1)
- 因为我们是递归的找路,所以我先规定 map 数组的各个值的含义0 表示可以走 1 表示障碍物 2 表示可以走 3 表示走过,但是走不通是死路
- 递归出口当 map[6][5] =2 就说明找到通路,就可以结束,否则就继续找
- 先确定老鼠找路策略 下->右->上->左
public class migong{
public static void main(String args[]){
int [][]map = new int[8][7];
//迷宫为一个八行七列的二维数组,墙为1,路为0
for(int i=0;i<7;i++){
map[0][i] = 1;
map[7][i] = 1;
}
for(int i = 0;i<8;i++){
map[i][0] = 1;
map[i][6] = 1;
}
//设计迷宫四周的墙
map[3][1] = 1;
map[3][2] = 1;
map[3][3] = 1;
map[2][3] = 1;
map[2][1] = 1;
//设置迷宫图形
System.out.println("当前地图:");
for(int i = 0;i
for(int j = 0;j
运行结果