【暑期每日一题】洛谷 P1605 迷宫

2023-05-16

题目链接:P1605 迷宫 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述

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

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

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

输入格式

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

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

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

输出格式

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

样例 #1

样例输入 #1

2 2 1
1 1 2 2
1 2

样例输出 #1

1

提示

对于 100% 的数据,1 <= N,M <= 5,1 <= T <= 10,1 <= SX,FX <= n,1 <= SY,FY <= m。

AC code:(DFS)

#include<iostream>
#include<algorithm>

using namespace std;

/*
0 0 0 0 0 0
0 1 1 1 1 0
0 1 2 2 1 0
0 1 2 * 1 0
0 1 1 1 1 0
0 0 0 0 0 0
*/
int dir[4][2]={{0,1}, // 右 
		{1,0}, // 下
		{0,-1},// 左
		{-1,0}};// 上 
int a[10][10],book[10][10];
int startx,starty,endx,endy;
int cnt;
void dfs(int x,int y,int step)
{
	if(x==endx && y==endy)
	{
		cnt++;
		return ;
	}
	for(int i=0;i<4;i++)
	{
		int tx=x+dir[i][0];
		int ty=y+dir[i][1];
		if(a[tx][ty]==1 && book[tx][ty]==0)
		{
			book[tx][ty]=1;
			dfs(tx,ty,step+1);
			book[tx][ty]=0;
		}
	}
	return ;
}

int main()
{
	int n,m,t;
	cin>>n>>m>>t;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			a[i][j]=1;
	cin>>startx>>starty>>endx>>endy;
	while(t--)
	{
		int i,j;
		cin>>i>>j;
		a[i][j]=2;
	}
	book[startx][starty]=1;
	dfs(startx,starty,0);
	cout<<cnt<<endl;
	
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【暑期每日一题】洛谷 P1605 迷宫 的相关文章

随机推荐

  • 【python3】 函数指定参数类型,如:fun(self, s: str) -> str:

    目录 指定参数方法如下 xff0c 参考 GetStringSelf的定义 虽然能够指定参数类型 xff0c 当输入参数类型错误不会报错 返回值错误也不报错 总结 xff1a 今天突然发现了在python3中的函数定义可以指定参数了 因此写
  • 自相关函数与互相关函数

    转自 xff1a https blog csdn net denghecsdn article details 78848046 1 概念 相关函数是描述信号X s Y t xff08 这两个信号可以是随机的 xff0c 也可以是确定的 x
  • [错误记录]The ‘typing‘ package is an obsolete backport of a standard library package

    在使用pyinstaller时报错如下 xff0c The 39 typing 39 package is an obsolete backport of a standard library package and is incompat
  • [计算机通信网络]以太网的帧格式详解

    目录 一 前言 二 以太网的帧格式 Preamble xff08 前导码 xff09 xff1a SFD xff08 帧开始定界符 xff09 xff1a Destination Address xff0c Source Address x
  • [Linux]Windows使用ssh连接Linux虚拟机(mininet)

    作者 xff1a 清水寺丞 简介 xff1a 正在学习unity xff0c 数据库 xff0c 计算机通信网络和python 喜欢部署各种奇奇怪怪的小项目 喜欢就点个关注一起学习吧 目录 前言 xff1a 一 步骤 1 查看虚拟机IP地址
  • [SDN]使用mininet搭建单臂路由的VLAN网络

    作者 xff1a 清水寺丞 简介 xff1a 正在学习unity xff0c 数据库 xff0c 计算机通信网络和python 喜欢部署各种奇奇怪怪的小项目 喜欢就点个关注一起学习吧 前言 xff1a 本文实践了使用mininet来搭建一个
  • Spring整合MyBatis导致一级缓存失效问题

    熟悉MyBatis的小伙伴都知道MyBatis默认开启一级缓存 xff0c 当我们执行一条查询语句后 xff0c MyBatis会以我们查询的信息生成一个缓存key xff0c 查询的结果为value xff0c 存到一个map中 xff0
  • 用echarts写潮汐表,并处理后端传来的数据为潮汐表接口的数据

    这是后端传来的接口类型 xff1a 其中分别是今天 xff0c 昨天 xff0c 明天的数据 xff0c 一天24个小时 xff0c 分别为a0和a23表示 xff1b 后端接口数据如下 xff1a dom表单代码如下 xff1a lt d
  • 分类算法-Logistic Regression(逻辑回归)实战案例

    一 定义 逻辑回归是一种广义线性回归模型 xff0c 主要用于二分类 问题 xff08 也可以用于多分类 xff09 xff0c 具有简单 可并行化 解释性强的特点 xff0c 目前在各个领域使用的都非常频繁 逻辑回归的本质是假设数据服从伯
  • 快乐数算法

    def sum l n sum a 61 0 for i in str n sum a 43 61 int i 2 return sum a sum1 61 n 61 int input 请输入数字 while sum l n not in
  • 2021-04-26

    标题altium 相同原理图导入PCB厚如何避免重复建布局 思想 xff1a channel offset 使每个component的offset一致 方法 xff1a 步骤一 xff0c 选取其中一个布局好 xff0c 创建一个room1
  • 深度学习模型压缩与优化加速

    1 简介 深度学习 xff08 Deep Learning xff09 因其计算复杂度或参数冗余 xff0c 在一些场景和设备上限制了相应的模型部署 xff0c 需要借助模型压缩 优化加速 异构计算等方法突破瓶颈 模型压缩算法能够有效降低参
  • 选择排序算法(思路分析) [数据结构][Java]

    选择排序算法 思路分析 基本介绍 选择排序也属于内部排序的一种 是从 34 欲排序的数据 34 中 按照指定的规则选出某一元素 再根据规定交换位置后达到排序的目的 选择排序思想 以升序排序为例讲解 选择排序 Select Sorting 也
  • 2021-09-29

    第一次数据结构与算法作业 https share weiyun com Bfh1pSeJ 初学者 x1f913 xff0c 算法漏洞较多 希望各位大佬指点一下 xff0c 谢谢大家
  • 2021-10-27

    十进制整数转换 xff0c 使用链栈实现 xff0c 实验报告 内容 xff1a 将十进制整数num转换为r进制数 xff0c 其转换方法为辗转相除法 xff0c 要求用链栈实现 算法分析 xff1a 程序中设计了四个函数 函数IiStac
  • C++生成随机数

    随机数通过 随机数引擎类 和 随机数分布类 引擎类可以生成 unsigned xff08 无符号数 xff09 随机数序列 xff1b 分布类使用一个引擎类生成指定类型的 在给定范围内的 服从特定概率分布的随机数 它们定义在头文件 rand
  • 进程间的通信-信号量(C语言)

    目录 一 信号量 1 什么是信号 2 在linux下 xff0c 有哪些信号 3 在linux下 xff0c 这些信号究竟是由谁来发出 4 用户如何发送信号给进程 xff1f 二 信号的函数接口 1 如何发送信号给另外一个进程 2 如何捕捉
  • Python实现设计模式之工厂模式

    引言 设计模式是可重复使用的编程方案 xff0c 已被用于各种现实世界的环境中 xff0c 并被证明能产生预期的结果 在本文中 xff0c 我们将学习最常见的设计模式之一 xff1a 工厂模式 正如我们稍后将看到的 xff0c 这种模式使我
  • 地表最强AI 辅助编程工具——GitHub Copilot安装教程

    GitHub Copilot 文章目录 GitHub Copilot一 GitHub Copilot 介绍二 GitHub Copilot 通行证注册流程1 打开GitHub Copilot 网址 https copilot github
  • 【暑期每日一题】洛谷 P1605 迷宫

    题目链接 xff1a P1605 迷宫 洛谷 计算机科学教育新生态 luogu com cn 题目描述 给定一个 N M 方格的迷宫 xff0c 迷宫里有 T 处障碍 xff0c 障碍处不可通过 在迷宫中移动有上下左右四种方式 xff0c