题目背景

迷宫 【问题描述】

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

【数据规模】

1≤N,M≤5

题目描述
输入输出格式
输入格式:
【输入】

第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。

输出格式:
【输出】

给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。

输入输出样例

输入样例#1:
2 2 1
1 1 2 2
1 2
输出样例#1:
1

AC代码

注意要对起点也进行标记,否则只能拿到70分
不对起点进行标记的被卡的数据:

2 2 0
1 1 1 2
#include<bits/stdc++.h>
#define ll long long
#define ms(a,b) memset(a,b,sizeof(a))
#define INF 0x7f7f7f7f
const int maxn=1e6+10;
using namespace std;
int mp[10][10];
int vis[100][100];
int dis[4][2]={1,0,-1,0,0,1,0,-1};
int n,m,t;
int ans;
void dfs(int x,int y,int fx,int fy)
{vis[x][y]=1;if(x==fx&&y==fy)ans++;for(int i=0;i<4;i++){int dx=x+dis[i][0];int dy=y+dis[i][1];if(!vis[dx][dy]&&!mp[dx][dy]&&dx<=n&&dx>0&&dy<=m&&dy>0){dfs(dx,dy,fx,fy);vis[dx][dy]=0;}}
}
int main()
{ios::sync_with_stdio(false);cin>>n>>m>>t;int sx,sy,fx,fy;cin>>sx>>sy>>fx>>fy;int zx,zy;for(int i=0;i<t;i++){cin>>zx>>zy;mp[zx][zy]=1;}dfs(sx,sy,fx,fy);cout<<ans<<endl;return 0;
}

转载于:https://www.cnblogs.com/Friends-A/p/10324324.html

洛谷P1605:迷宫(DFS)相关推荐

  1. dfs 洛谷 P1605 迷宫

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

  2. 【洛谷P1605 迷宫】

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

  3. 洛谷—— P1605 迷宫

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

  4. 洛谷 | P1605 迷宫(DFS) C++

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

  5. 洛谷P1605 迷宫(dfs) 题解

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

  6. 洛谷 P1605 迷宫(DFS模板)

    题目 https://www.luogu.com.cn/problem/P1605 思路 写一个DFS模板 #include<iostream> #include<algorithm ...

  7. 洛谷——P1605 迷宫

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

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

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

  9. 洛谷P1605 迷宫 纯C语言题解

    #include<stdio.h> #include<stdlib.h> int cnt = 0;//记录有多少条路线,初始为0 int N,M,T;//N行 M列 T个障碍 ...

  10. 深度优先搜索——迷宫(洛谷 P1605)

    题目选自洛谷P1605 题目是非常经典以及简单的DFS题目 这里给出模板 int dfs(int t) {if(满足输出条件){输出解;}for(int i=1;i<=尝试方法数;i++)if( ...

最新文章

  1. 计算机文档里的东西可以删吗,电脑c盘哪些文件可以删除
  2. python中return的理解-python中的return的返回与执行
  3. Mqtt paho 回调函数触发机制跟踪
  4. 【Linux】一步一步学Linux——su命令(103)
  5. 天津大学计算机在线作业答案,天大19秋《计算机应用基础》在线作业二【满分答案】...
  6. python学习笔记 --- 随机数进阶
  7. 工作216:JS-JS创建数组的三种方法
  8. 完全关闭App的两种做法
  9. 计算机快速看图教程,cad快速看图制图
  10. Java程序员面试简历模板
  11. Excel小技巧总结,工作中超实用
  12. React从零到一Demo演练(上)
  13. Aruba protal 认证 图标
  14. 豆腐的做法与编辑的文风
  15. Python-matplotlib:调整坐标轴位置、标签位置和标签方向,以及X轴刻度标签位置
  16. 12.9寸iPad Pro 5曝光:屏幕焕然一新、处理器强悍
  17. nginx高效学习方法
  18. 虚继承的概念及其作用,虚继承与一般继承的区别
  19. 使用zabbix监控VMware
  20. 脑洞故事|万圣节的起源并非恶魔,而是M星系机器人!

热门文章

  1. 求一个序列中最大的子序列_最大的斐波那契子序列
  2. duration java_Java Duration类| toNanos()方法与示例
  3. 如何使用两个堆栈实现队列_使用两个队列实现堆栈
  4. java集合转换_java各种集合的转换
  5. sys.stdin.read和raw_input函数
  6. php describe,php – 在Zend框架中的许多DESCRIBE查询
  7. spring boot 集合mysql_Spring boot整合mysql和druid
  8. 百善计算机学习,党建引领学做合一,志愿服务助力乡村振兴——计算机工程学院开展“百善孝为先”主题宣传文化墙墙绘涂鸦活动...
  9. fcntl函数之文件锁 F_SETLKW
  10. 160. 相交链表 golang