分析

  1. 初始时,需要把起点标记为已访问,不然会造成起点不在第一个点1,1时,造成错误;
  2. dfs中符合要求的方案,通过ans++后,需要return,不能忘
  3. 方向问题,用偏移量来简化问题;
  4. 在搜索时不能越界,不能走障碍物,不能走已访问的点;
  5. 此题用map表示迷宫的地图,障碍物赋值为1;
import java.util.Scanner;//1:无需package
//2: 类名必须Main, 不可修改
public class Main {static int n, m, fx, fy;static int ans = 0;static int[][] map = new int[10][10];static int[][] vis = new int[10][10];static int[] dx = {-1, 0, 1, 0};static int[] dy = {0, 1, 0, -1};static void dfs(int x, int y) {if (x == fx && y == fy) {ans++;return;//不能忘}for (int i = 0; i < 4; i++) {int xx = x + dx[i];int yy = y + dy[i];if (map[xx][yy] == 0 && vis[xx][yy] == 0 && xx >= 1 && yy >= 1 && xx <= n && yy <= m) {vis[xx][yy] = 1;dfs(xx, yy);vis[xx][yy] = 0;}}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();m = sc.nextInt();int t = sc.nextInt();int sx = sc.nextInt();int sy = sc.nextInt();fx = sc.nextInt();fy = sc.nextInt();for (int i = 0; i < t; i++) {map[sc.nextInt()][sc.nextInt()] = 1;//障碍物}vis[sx][sy] = 1;//一定要标记首元素dfs(sx, sy);System.out.println(ans);}
}

P1605 迷宫 java相关推荐

  1. 洛谷—— P1605 迷宫

    P1605 迷宫 题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在 ...

  2. 【洛谷P1605 迷宫】

    P1605 迷宫 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这是一道很简单的迷宫搜索题,适合搜索初学者练习. 思路 用mp数组表示迷宫地图 用vis数组表示"打标记& ...

  3. dfs 洛谷 P1605 迷宫

    洛谷 P1605 迷宫 题目: 链接 https://www.luogu.com.cn/problem/P1605 思路:从出发点点出发dfs搜索每一次可以到达终点的路径,边界条件为不能走障碍物(在输 ...

  4. (Java实现) 洛谷 P1605 迷宫

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...

  5. 杭电1728bfs逃离迷宫java实现

    Problem Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有 ...

  6. 递归走迷宫java,java递归实现的迷宫游戏

    java递归实现的迷宫游戏 public class Migong { private int gard[][]={  {1,1,1,1,0,1,1,1}, {0,0,0,1,1,1,1,1}, {1 ...

  7. 老鼠走迷宫-java

    推荐韩老师课程:https://www.bilibili.com/video/BV1fh411y7R8?t=260&p=225 老鼠走迷宫-Maze.java package lbxx.day ...

  8. python【洛谷算法题单-搜索】P1605 迷宫

    题目背景 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫中移动有上下左右四种方式,每次只能移 ...

  9. p1605迷宫(DFS应该注意的问题)

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...

最新文章

  1. 众多新点子推动比特币现金BCH普及
  2. 盘神 Pandownload 复活
  3. numpy中where函数的用法
  4. 六十六、实现Vue项目首页轮播图(vue-awesome-swiper)
  5. golden gate 错误集锦
  6. 《软件设计精要与模式》推荐序三
  7. mysql 启动 修改密码_基础的启动/停止/重启/密码修改MySQL
  8. 软件系统性能优化策略--SQL优化
  9. FileSystemObject 对象
  10. clickhouse 同步mysql_ClickHouse 常用管理命令
  11. 你知道电脑如何录制屏幕视频吗?快来看看这两个实用方法
  12. java微信web支付开发_java实现微信H5支付方法详解
  13. WPF 使用MSCHART 控件代码
  14. 聚合支付、第四方支付有哪些平台?
  15. python图像质量评价_OpenCV--Python 图像质量评价.docx
  16. 西电计算机本科毕业,不在一线城市,不是顶级大学,西电毕业生薪酬凭啥陕西第一?...
  17. 创新科技 新BMW 7系 有你夫复何求
  18. 延时关机命令 linux,Ubuntu自动定时关机的方法
  19. 最新版校园招聘进大厂系列----------(3)字节篇 -----未完待续
  20. 开放PLM——Aras Innovator编程学习(二)AML脚本组成

热门文章

  1. Lightgbm如何处理类别特征?
  2. 哪些习惯能让生活变得简洁高效?
  3. 100多个unity游戏项目包
  4. 后处理PUI文件分析
  5. 中文数藏与CIC国信公链等有关机构顺利召开国内数字藏品规划标准研讨会
  6. lacp - 链路汇聚控制协议
  7. 解决BUG:Incorrect string value: ‘\xAC\xED\x00\x05~r...‘ for column ‘XX‘ at row 1 Query
  8. 阿里云服务器糟挖矿程序攻击
  9. POJ 1006 生理周期
  10. Win10下用VS2017编译live555