package org.structure.recursion;/*** 迷宫找路问题* @author cjj_1* @date 2020-08-11 10:09*/
public class MazeLookingForRoad {public static void main(String[] args) {//初始化迷宫为一个8行7列的二维数组,并初始化迷宫中的墙,//制定一个规则,1代表墙,2代表通路,3代表该点是死路走不通,int[][] map = new int[8][7];//map 的第一列,左后一列都设置为1for(int i=0;i<map.length;i++){map[i][0] = 1;map[i][6] = 1;}//map 的第一行,最后一行都设置为1for(int i=0;i<map[0].length;i++){map[0][i] = 1;map[7][i] = 1;}//设置map[3][1] =  1;map[3][2] =  1;printMap(map);System.out.println("---------------分割线---------------");setWay(map,1,1);printMap(map);}
//打印二维数组private static void printMap(int[][] map) {for(int i =0;i<map.length;i++){for (int j =0 ;j<map[j].length;j++){System.out.printf("%d\t",map[i][j]);}System.out.println();}}//定义一个规则,1代表墙,2代表通道,3代表死路//定义一个找路规则,下,右,上,左public static Boolean setWay(int[][] map ,int i,int j){if(map[6][5]==2){//找到目标return Boolean.TRUE;}else if(map[i][j]==0){//map[i][j] =2;if(setWay(map,i+1,j)){//向下return Boolean.TRUE;}else if(setWay(map,i,j+1)){//向右return Boolean.TRUE;}else if(setWay(map,i-1,j)){//向上return Boolean.TRUE;}else if(setWay(map,i,j-1)){//向左return Boolean.TRUE;shu}else {map[i][j] =3;return  Boolean.FALSE;}}else {return  Boolean.FALSE;}}
}

输出结果如下,其中数字为2的组成的路径就是要寻找的路径

迷宫找路(从起点找到终点)相关推荐

  1. 获得有向无环图中起点到终点的所有路径_力扣1514——概率最大的路径

    本题主要和图的遍历求解最短路径相关,可以用 Dijkstra 或者 Bellman-Ford 算法进行解决. 原题 给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述边的列表组 ...

  2. 寻路问题——找到从起点到终点路径

    一,寻路问题介绍 正如组合问题与动态规划的联系之应用提到的从起点(0,0)到终点(X,Y)一共有多少种走法.与之相似的另一个问题是如何找到从(0,0)到(X,Y)的路径? 首先对问题建模.使用一个矩阵 ...

  3. 百度地图导航路线起点、终点、途经点删除的方法

    最近使用百度地图做项目时,需要利用百度地图的导航路线画两个收费站的车流路线图.因为要用不同颜色表示车流量的大小.所以要先利用百度地图的导航功能找到路路线,再覆盖折线,从而设置不同的颜色.为了更准确的找 ...

  4. HDU2066一个人的旅行---(多起点多终点最短路径)

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memo ...

  5. 【静态时序分析】如何寻找时序分析的起点与终点

    今天看<集成电路时序分析与建模>中看到这么一个知识点,觉得有点意思,就记录下来,与大家一起分享. 先看 如下电路图: 左边的电路图是需要分析的电路,我们的目的是要对此电路进行时序分析,那首 ...

  6. 水桥月游戏测试之旅——写于起点的终点话

    水桥月游戏测试之旅--写于起点的终点话 写于起点的终点话. 在写博客之前,必须先跟大家讲这么一个故事,在技术博客里面,可以告诉你的是游戏测试的绝大多数技巧,我也可以,并且一可以不断帮你在升阶的时候少走 ...

  7. 最短路多起点多终点(超级源点)

    我们先来回忆一下spfa判负环的思想: 就是先把所有的点入队列,然后用一个一个点去枚举边去松弛点与点之间的距离,顺便记录一下被松弛点的最短路径所经过的边数,如果发现一个点的最短路径边数大于等于n(n为 ...

  8. 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次

    2016年小米校招笔试第一题(西安站) 1 给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次. 参考解法(Java版): package XiaoMi;/********** ...

  9. 【IT笔试面试题整理】判断链表是否存在环路,并找出回路起点

    [试题描述]定义一个函数,输入一个链表,判断链表是否存在环路,并找出回路起点 Circular linked list: A (corrupt) linked list in which a node ...

最新文章

  1. 8. String to Integer (atoi)
  2. VMware安装CentOS之二——最小化安装CentOS
  3. 在windows下安装Redis
  4. 苹果出来挨打!又一个不配充电器的来了
  5. c统计查找的字符串个数
  6. idea报错:Invalid bound statement (not found)
  7. 1.Tow Sum(两数和)
  8. MIT 最新 AI 医疗系统公布:“重症监护室干预” 与”电子医疗档案模型迁移“...
  9. 教你怎么用爬虫程序采集企业信息及电话邮箱等信息(以企查查为例)
  10. c51语言编程实验报告,C51单片机实验报告程序.doc
  11. 阳光长跑(阳光体育服务平台)
  12. 2020 2月 月末总结
  13. 电瓶车罚款不交后果如何
  14. Python打包出现 failed to execute script xxx解决方法
  15. Java监听器实现网站在线人数统计
  16. 无法连接服务器——CMNET与CMWAP的区别
  17. Python3.9版本发布,不同领域的程序员如何学Python?
  18. 一键安装5个系统方法,简单易学轻松上手
  19. 一次windows server 2003系统修复过程
  20. 指划王孔小兵:Testin云测助益亲子类APP实现年轻家庭和谐

热门文章

  1. java--项目1->家庭收支表
  2. 微信公众号运营的那些实用技巧,你了解多少?
  3. 塔望食业洞察|骆驼奶市场发展、行业洞察及机会思考
  4. configure: error: Please reinstall the libzip distribution
  5. 记自己发现的—SM2国密算法应用的高危漏洞—CVE-2021-3711
  6. Apache----web服务器软件
  7. GEE之ERA5-L数据集每三月PET与ET比值计算
  8. sas模拟试验构建线性模型_在sas上构建一个有角度的Web应用程序
  9. cdoj 1355 郭大侠与“有何贵干?”
  10. juce开发vst插件滑块参数错误