经典迷宫问题
Posted *平芜尽处是春山*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典迷宫问题相关的知识,希望对你有一定的参考价值。
经典迷宫问题
问题描述:迷宫有一个入口,一个出口。一个人从入口走进迷宫,目标是找到出口。阴影部分和迷宫的外框为墙,每一步走一格,每格有四个可走的方向,探索顺序为地图方向:南(下)、东(右)、北(上)、西(左)。
图片详情:
代码实现:
public class labyrinth
public static void main(String[] args)
int[][] map = new int[8][7];
for (int i = 0; i < 8; i++)
for (int j = 0; j < 7; j++)
map[0][j] = 1;
map[7][j] = 1;
map[i][0] = 1;
map[i][6] = 1;
map[3][1] = 1;
map[3][2] = 1;
for (int i = 0; i < 8; i++)
for (int j = 0; j < 7; j++)
System.out.print(map[i][j] + " ");
System.out.println();
setWay(map,1,1);
System.out.println("迷宫走过之后地图");
for (int i = 0; i < 8; i++)
for (int j = 0; j < 7; j++)
System.out.print(map[i][j] + " ");
System.out.println();
private static boolean setWay(int[][] map,int i,int j)
if(map[6][5] == 2)
return true;
else
if(map[i][j] == 0)
map[i][j] = 2;
if (setWay(map, i + 1, j))
return true;
else if (setWay(map, i, j + 1))
return true;
else if (setWay(map, i - 1, j))
return true;
else if (setWay(map, i, j - 1))
return true;
else
map[i][j] = 3;
return false;
else
return false;
运行截图:
以上是关于经典迷宫问题的主要内容,如果未能解决你的问题,请参考以下文章
python每日算法 | 数据结构基础:栈与队列以及经典的迷宫问题