当前位置: 首页 > news >正文

题解:洛谷 P1605 迷宫

【题目来源】

洛谷:P1605 迷宫 - 洛谷

【题目描述】

给定一个 \(N \times M\) 方格的迷宫,迷宫里有 \(T\) 处障碍,障碍处不可通过。

在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。

给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。

【输入】

第一行为三个正整数 \(N,M,T\),分别表示迷宫的长宽和障碍总数。

第二行为四个正整数 \(SX,SY,FX,FY\)\(SX,SY\) 代表起点坐标,\(FX,FY\) 代表终点坐标。

接下来 \(T\) 行,每行两个正整数,表示障碍点的坐标。

【输出】

输出从起点坐标到终点坐标的方案总数。

【输入样例】

2 2 1
1 1 2 2
1 2

【输出样例】

1

【解题思路】

image

【算法标签】

《洛谷 P1605 迷宫》 #搜索# #递推# #枚举# #USACO#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 全局变量:
// n, m: 网格的行数和列数
// t: 障碍物的数量
// sx, sy: 起点坐标
// fx, fy: 终点坐标
// a[10][10]: 网格状态(1表示可通行,0表示障碍或已访问)
// x, y: 临时坐标变量
// ans: 记录从起点到终点的路径总数
int n, m, t, sx, sy, fx, fy, a[10][10], x, y, ans = 0;// 方向数组:上、下、左、右
int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1};/*** 深度优先搜索函数* @param x 当前行坐标* @param y 当前列坐标*/
void dfs(int x, int y)
{int xx, yy;// 如果到达终点,增加路径计数并返回if (x == fx && y == fy){ans++;return;}// 尝试四个移动方向for (int i = 0; i <= 3; i++){xx = x + dx[i];yy = y + dy[i];// 检查新位置是否合法且可通行if (xx > 0 && xx <= n && yy > 0 && yy <= m && a[xx][yy] == 1){a[xx][yy] = 0;    // 标记为已访问dfs(xx, yy);      // 递归搜索a[xx][yy] = 1;    // 回溯,恢复可通行状态}}
}int main()
{// 输入网格大小和障碍物数量cin >> n >> m >> t;// 输入起点和终点坐标cin >> sx >> sy >> fx >> fy;// 初始化网格为全部可通行for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){a[i][j] = 1;}}// 设置障碍物位置for (int i = 1; i <= t; i++){cin >> x >> y;a[x][y] = 0;}// 标记起点为已访问a[sx][sy] = 0;// 开始深度优先搜索dfs(sx, sy);// 输出路径总数cout << ans;return 0;
}

【运行结果】

2 2 1
1 1 2 2
1 2
1
http://www.jsqmd.com/news/390113/

相关文章:

  • 动态优化决策模型:变分法原理、工业实证与 Python 仿真
  • 题解:洛谷 P2895 [USACO08FEB] Meteor Shower S
  • 题解:洛谷 P1433 吃奶酪
  • 2026年试验机实力厂家哪家值得选?热门排行公布,洛氏硬度计/电子万能材料测试机,试验机厂家推荐排行榜 - 品牌推荐师
  • 题解:洛谷 P1135 奇怪的电梯
  • 再论自然数全加和 - 角度和三角函数的本质
  • OpCore Simplify智能配置:黑苹果配置的自动化革命 - 指南
  • 2月17号
  • 题解:洛谷 P1219 [USACO1.5] 八皇后 Checker Challenge
  • 题解:洛谷 P1443 马的遍历
  • 【GitHub项目推荐--ORB-SLAM3:开源视觉、视觉惯性及多地图SLAM库】
  • 污水处理系统中组态王6.55与三菱PLC联机仿真OPC通讯优化之旅
  • Photoshop - Photoshop 工具栏(63)注释工具
  • 题解:洛谷 P3853 [TJOI2007] 路标设置
  • 静态无功补偿器(SVC)仿真模型 采用静态无功补偿器(SVC)对一个500kv, 3000mv...
  • 春晚机器人与中国未来100年发展
  • Photoshop - Photoshop 工具栏(64)计数工具
  • 题解:洛谷 P3743 小鸟的设备
  • 题解:洛谷 P2678 [NOIP 2015 提高组] 跳石头
  • 构建跨行业三维空间智能治理中枢——矩阵视频融合 × 三角测量 × 数字孪生驱动全域风险前置控制
  • 论文阅读:arxiv 2025 Jailbreaking Attacks vs. Content Safety Filters: How Far Are We in the LLM Safety Ar
  • 复杂场景三维空间主动风险防控与智能调度系统——基于矩阵视频融合的空间级安全感知底座技术白皮书
  • 题解:洛谷 P1163 银行贷款
  • 题解:洛谷 P1182 数列分段 Section II
  • 正规的美团礼品卡回收平台推荐 - 京顺回收
  • 题解:洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树
  • 题解:洛谷 P2440 木材加工
  • 【LeetCode 每日一题】3314. 构造最小位运算数组 I —— (解法二) - 详解
  • 题解:洛谷 P1102 A-B 数对
  • Smoke and Mirrors inspiration