迷宫问题(dfs)POJ - 3984

DFS练习-迷宫(最短路径)问题详解 一波三折 图片+文字 dfs迷宫问题的详细解析,图文并茂,包含洛谷acwing上的两题。 阅读详情

题目大意:有一个5*5的迷宫 0 表示可以走 1 表示不可以走,输出走出去的最短路线 从(0,0)到(4,4)

思路:dfs和bfs好像都可以 弱 当时只会dfs写的dfs 很简单的一个题,dfs写下来就行了。不过需要用一个数组存储

走过的路。数据有唯一性,优先右下方就可以过了 。bfs的话应该也可以不过需要记录前驱,最后输出        

听说这个题只有一组数据,打印就可以了0-0


#include<stdio.h>
#include<string.h>
int  map[6][6];
int  book[6][6];
int z[30][2];//保存路径
int num=0;
int flag=0;
int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//方向
int check(int a,int b){//判断是否可以走
	if(a>=0&&a<5&&b>=0&&b<5&&book[a][b]==0&&map[a][b]==0)
	return 1;
	return 0;
}
void dfs(int x,int y,int n);
int main(void)
{
	int i,j;
	memset(book,0,sizeof(book));
	for(i=0;i<5;i++){
		for(j=0;j<5;j++){
			scanf("%d",&map[i][j]);
		}
	}
	book[0][0]=1;
	dfs(0,0,0);
//	printf("%d\n",num);
	printf("(0, 0)\n");
	for(i=0;i<num;i++){//输出坐标
		printf("(%d, %d)\n",z[i][0],z[i][1]);
	}
	return 0;
}
void dfs(int x,int y,int n){
	if(x==4&&y==4){
		flag=1;
		num=n;
		return ;
	}
	int i;
	for(i=0;i<4;i++){if(flag) return ;
		int x_t=x+dir[i][0];
		int y_t=y+dir[i][1];
		if(check(x_t,y_t)){
			book[x_t][y_t]=1;
			z[n][0]=x_t;
			z[n][1]=y_t;
			dfs(x_t,y_t,n+1);
			
			book[x_t][y_t]=0;
		//	z[n][0]=0;
		//	z[n][1]=0;
		}
	}
}


【代码超详解】POJ 3984 迷宫问题(BFS 求最短路 + DFS从终点回溯输出最短路,0 ms) 一、题目描述 迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 46805 Accepted: 25576(2019/11/2) Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,... 阅读详情

相关推荐

从AD到HFSS:Gerber文件驱动的PCB三维电磁仿真全流程解析

本文详细解析了从AD到HFSS的Gerber文件驱动的PCB三维电磁仿真全流程,重点介绍了Gerber文件作为桥梁的重要性、AD端Gerber文件导出实战指南、HFSS 3D Layout导入技巧及高级问题排查方法。通过实际案例和技巧分享,帮助工程师高效完成PCB电磁仿真,提升设计验证效率。

weixin_33735077的博客 259

022:迷宫问题

定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 输入 一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。 输出 左上角到右下角的最短路径,格式如样例所示。 样例输入 0 1 0 0 0 0 1 0 1 0 0

cxoi9010的博客 335

【老生谈算法】可视化通道流中瞬时涡量场的算法实现与MATLAB源码分析——瞬时涡量场

本文旨在探讨可视化通道流中瞬时涡量场的方法,并通过MATLAB编程实现这一过程。涡量场作为描述流体旋涡强度和方向的重要物理量,对于理解复杂流体运动具有重要意义。本文首先介绍了涡量场的基本概念,随后详细阐述了从测量数据收集到涡量场可视化的完整流程,并给出了相应的MATLAB源码。通过实际运行该源码,我们展示了涡量场的可视化结果,并讨论了其在流动结构识别和动力学行为理解中的应用。关键词: 涡量场;流体运动;MATLAB;可视化;PIV一、引言。

m0_53407570的博客 1124

DFS递归之迷宫问题

DFS递归之迷宫问题: 1.能否逃出迷宫; 2.逃出迷宫的最短路径; 3.缺口迷宫。

Tom的博客 4977

Delphi中使用FireDAC与uniDAC高效连接PostgreSQL的实战指南

本文为Delphi开发者提供了使用FireDAC与uniDAC组件高效连接PostgreSQL数据库的实战指南。文章详细对比了两款组件的选择策略,重点解析了驱动依赖(libpq.dll)的配置、连接参数设置、常见错误排查及性能优化技巧,旨在帮助开发者快速构建稳定可靠的数据库连接。

tomato的博客 805

PCIe 6.0实战指南:从链路训练到信号完整性的避坑手册

本文是一份针对PCIe 6.0硬件工程师的实战避坑指南。文章深入解析了从NRZ到PAM4调制带来的信号完整性挑战,详细拆解了链路训练(LTSSM)的复杂过程与调试方法,并提供了从信道仿真到实验室实测(如使用Keysight示波器进行眼图与误码率分析)的完整信号完整性闭环验证策略,帮助工程师解决高速率下的链路不稳定与降速问题。

weixin_29306875的博客 341

DFS解决迷宫问题

DFS解决树的问题比较常见也比较简单,通常用栈来解决。现在来看看DFS怎么解决迷宫问题,理解好这个解题思路可以扩展到解更复杂的题。 在起点位置按右,下,左,上的顺序遍历,比如上图,起点右边为空,则走到右边(第1步);第1步的右边为障碍物则判断下方是否为空,为空即走第二步;同理第二步优先判断能否往右走,若右边为障碍物则判断下、左、右;直到到达终点。下图为遍历出来的其中一条路线。按照这个原理可以找出每一条路线,记录每一条路线的总长,得到最短的路径长度。 class Solution { int p,q;

weixin_47525457的博客 2808

英飞凌 TC4X MCAL之SPI中断与DMA高效传输实战

本文详细介绍了英飞凌TC4X芯片的SPI通信实战,重点讲解如何通过MCAL配置SPI中断与DMA实现高效数据传输。针对汽车电子领域的高吞吐需求,提供了从基础配置到中断处理、DMA优化的完整解决方案,包含代码示例和调试技巧,帮助开发者提升系统性能与CPU利用率。

k0l1m2n3o的博客 874

POJ - 3984 5x5迷宫(预处理、DFS回溯) 难度:算法入门 复杂度:比较复杂 (待模板化)...

很简单的一道迷宫题,我说的简单是指..地图大小 因为是固定5x5的点阵迷宫,且保证有唯一解,算是迷宫入门题吧 不过本人作为ACM小白头一次摸出这题还真是不容易啊 预处理: 就是给地图的四周“造墙”,比如把 变成 这样后面搜索时对待边界或障碍物就能共用一套逻辑, 因此5x5的地图要用7x7...

chishi6516的博客 1005

【Macbook-Latex安装部署教程】【Win-Texlive镜像下载】【简单易上手】MacTex+Vscode/Texstudio

该教程记录自己在mac()上安装部署Latex环境的经验,整个教程操作简单,配置要求少,易上手。教程分成三部分:Mactex下载与安装,Vscode插件下载与配置文件修改,Texstudio安装。

sunriseOvO的博客 2567

上机任务一:空气质量指数 (air quality index,AQI是定量描述空气质量状况的指数。为了更好地了解和人们身体健康息息相关的天气状况,本书模拟生成500条某地区天气数据,一行样本对应一天

调整后的R平方为0.4308,考虑了模型中的自由度,它略低于多重R平方,说明模型的解释能力可能有限。总的来说,新的模型相对于之前的模型在AIC值上更优,包含了最高温度(X2)和最低温度(X3)这两个重要的预测因子,并且对AQI的解释能力较好。在表中,Df表示自由度,Sum Sq表示总平方和,Mean Sq表示均方(总平方和除以自由度),F value表示F统计量,Pr(>F)表示对应的p值。在分析这些结果时,需要关注系数的显著性(p值),系数的方向(正向或负向影响),以及系数的大小(估计值)。

Mrrunsen的博客 722

poj dfs相关之3984 迷宫问题

poj dfs相关之3984 迷宫问题

ziqi9216的博客 353

Dify 系列教程 | 第 6 篇:工作流入门 -- 用可视化方式编排 AI 逻辑

Dify 工作流是一个基于有向无环图(DAG)的可视化 AI 逻辑编排系统。你可以把多个处理步骤(节点)用连线串联起来,数据从起点流向终点,每经过一个节点就被处理一次。用一个类比来理解:如果单次 Prompt 调用是"一道菜",那工作流就是"一道完整的生产线" – 原材料(输入)进入流水线,经过清洗(预处理)、切配(数据转换)、烹饪(AI 推理)、装盘(格式化输出)等工序,最终产出成品。创建一个工作流类型的应用(或高级聊天类型),就会进入工作流编辑器。编辑器基于ReactFlow构建(

weixin_43674738的博客 118

POJ 3984 迷宫问题 DFS

迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10818   Accepted: 6458 Description 定义一个二维数组:  int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,

Moressette流沙的博客 752

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

poj 3984 迷宫问题 dfs 求迷宫路径

题目地址:http://poj.org/problem?id=3984 利用图论中深搜的思想,存在边就是x,y ->  x+1,y  还有x,y -> x,y+1   然后仍然是访问未访问的而且不是墙壁的地方。  这样保证不走已经搜索过,走不通的路。 唯一一种需要重复访问已经访问的结点的情况是已经无路可走了,只能返回,这样就在栈中将路径取出来,把自己现在的那个先pop掉,然后实现回溯。 最后

Jingqi@Mr.B的ACM博客 4034

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【POJ - 3984】迷宫问题(dfs)

-->迷宫问题 Descriptions: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上...

weixin_30401605的博客 146

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

K - 迷宫问题 POJ - 3984

K - 迷宫问题 POJ - 3984 K: 普通的走迷宫问题。BFS都快写完了才发现它要求输出路径,考虑到只是个5*5迷宫且路径唯一,DFS可行。 首先这题和P1101 单词方阵这题很像,关键点在于要把记录路径的结构体数组也作为参数传入DFS函数中,从而达到“只保存最短路径”的目的。 然后也出了一点小差错,比如说因为它是5*5迷宫,不知怎么的就觉得走5步就可以了……可能是因为参考了上面这道单...

我于万物之中 245

POJ 3984 迷宫问题 BFS DFS两种解法

题目地址:点这里迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18495 Accepted: 10947 Description定义一个二维数组: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1,

carbite1923 566

POJ 3984 迷宫问题 (DFS(深度优先搜索))

迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6322   Accepted: 3673 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,

公众号:ByteCode 2177

DFS深度优先搜索(1)--poj3984(基本模板题)

迷宫问题 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下

Sly_461的博客 7669

迷宫问题 POJ - 3984【简单搜索】

迷宫问题 POJ - 3984 题目 思路:直接bfs用一个标记数组标记所进行的操作最后dfs输出路径 具体代码如下 #include<iostream> #include<queue> #include<cstdio> #include<cstring> #define x first #define y second using namespace std; typedef pair<int, int> PII; const int N

qq_50702668的博客 149

POJ - 3984 - 迷宫问题 (DFS)

迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10936   Accepted: 6531 Description 定义一个二维数组:  int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,

Never say never 1393

POJ - 3984 迷宫问题(染色+dfs)

题目链接: https://vjudge.net/problem/POJ-3984 题解: 没有用到队列,和小队里的人探讨了一下,想了一个染色+dfs的方法 AC代码 #include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include &l...

Sky丨Star的博客 437

POJ 3984 迷宫问题 【DFS】

题目链接:http://poj.org/problem?id=3984 题意:中文题…… 解析:图不大,dfs直接做,到终点时更新下路径就好#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <queue> using namespace s

22h's Blog 729
上一篇: Fire!(bfs) UVA - 11624
下一篇: Oil Deposits(dfs)HDU - 1241
practer
博客等级 码龄10年 11粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值