寻找迷宫的出路
来源:互联网 发布:出国才知中国好视频 编辑:程序博客网 时间:2024/04/30 08:02
public class Maze {private final int TRIED=3; //标识这个点已走过private final int PATH=7;//标识这个点是通路private int [] [] grid={{1,1,1,0,1,1,0,0,0,1,1,1,1}, {1,0,1,1,1,0,1,1,1,1,0,0,1}, {0,0,0,0,1,0,1,0,1,0,1,0,0}, {1,1,1,0,1,1,1,0,1,0,1,1,1}, {1,0,1,0,0,0,0,1,1,1,0,0,1}, {1,0,1,1,1,1,1,1,0,1,1,1,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1,1,1,1,1,1}};public boolean traverse(int row,int column){ //遍历当前位置的上下左右是否有通路boolean done=false; if(valid(row,column)){ //调用valind()方法检查当前坐标的值是否为1grid[row][column]=TRIED;if(row==grid.length-1&&column==grid[0].length-1) //递归调用的出口,当前坐标是迷宫的出口done=true;else{done=traverse(row+1,column); //检查当前坐标的下方是否为通路if(!done){done=traverse(row,column+1);//检查当前坐标的右方是否为通路}if(!done)done=traverse(row-1,column); //检查当前坐标上方是否为通路if(!done)done=traverse(row,column-1);//检查当前坐标左方是否为通路}if(done){ // 如果是通路,怎么把当前坐标的数字改为PATH=7grid[row][column]=PATH;}}return done;}private boolean valid(int row,int column){ //判断是当前坐标上的数字是否为1,是则返回true,否则返回falseboolean result=false;if(row>=0&&row<grid.length&&column>=0&&column<grid[row].length) // 检查当前坐标的合法性if(grid[row][column]==1)result=true;return result;}public String toString(){ //覆盖toString()方法,用来输出数组String result="\n";for(int row=0;row<grid.length;row++){for(int column=0;column<grid[row].length;column++){result+=grid[row][column]+"";}result+="\n";}return result;}}
public class MazeSearch {public static void main(String[] args){Maze labyrinth=new Maze();System.out.println(labyrinth);if(labyrinth.traverse(0,0 ))System.out.println("The maze was successfully traversed!");elseSystem.out.println("There is no possible path.");System.out.println(labyrinth);}}
- 寻找迷宫的出路
- 寻找迷宫的一条出路算法
- 寻找迷宫出路
- 寻找迷宫的一条出路 (o:通路,X障碍)
- 迷宫出路
- 深度优先搜索找迷宫的出路
- 一个搜索迷宫出路的程序
- 互动营销需要寻找新的出路!
- Facebook:寻找出路的小巨人
- java实现从迷宫寻找出路算法(广度优先搜索)
- 递归寻求迷宫出路
- 判断迷宫出路
- 迷路了,寻找出路
- 在内存墙的困扰中寻找出路
- 迷宫寻找路径
- 寻找迷宫出口<一>
- 广度优先寻找迷宫!
- java寻找迷宫路径
- 获取焦点, 失去焦点
- 字符串的全排列和组合算法
- 汉字转十六进制 和十六进制转汉字
- Jquery 邮箱的验证
- mongodb install
- 寻找迷宫的出路
- 正则表达式
- Unity3D 2D动画插件EasyMotion2D (之一)Getting Start With EasyMotion2D
- 使用python抓取有道词典的网页并返回结果信息
- hdu 3415 Max Sum of Max-K-sub-sequence 单调队列dp
- 10个窍门:怎么使用公司禁用软件?
- mongodb初级学习之逻辑结构和物理结构
- Hyperic HQ Apusic Plugin 配置说明
- hdu1024-Max Sum Plus Plus