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

dfs深度查询

dfs深度优先搜索

一条路走到头,在回溯走别的路

经典的走迷宫问题代码如下

#include<bits/stdc++.h> using namespace std; int p,q; int mins=1e9; int a[100][100]; int v[100][100]; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; void dfs(int x,int y,int step) { if(x==p&&y==q) { if(step<mins) { mins=step; return; } } for(int i=0;i<4;i++) { int nx=x+dx[i]; int ny=y+dy[i]; if(a[nx][ny]==1&&v[nx][ny]==0) { v[nx][ny]=1; dfs(nx,ny,step+1); v[nx][ny]=0; } } return; } int main() { int stratx,straty; int m,n; cin>>m>>n; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; } } cin>>stratx>>straty>>p>>q; v[stratx][straty]=1; dfs(stratx,straty,0); cout<<mins<<endl; return 0; }

从中我们可以看出这是一个递归,从(stratx,straty)坐标开始用dfs找,如果下一个坐标可以走且未被标记,那么就标记这个坐标,继续dfs,如果不能走,就回溯到上一步,取消标记,像其他三个方向查找,最终找到终点,记录步数。

注:

dx[4]={1,-1,0,0}

dy[4]={0,0,1,-1}

这是表示坐标的上下左右四个方向

http://www.jsqmd.com/news/655706/

相关文章:

  • ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
  • ChanlunX缠论插件:3分钟让普通投资者拥有专业级技术分析能力
  • 别再手动改配置了!用Docker Compose一键部署Pikachu靶场,5分钟搞定渗透测试环境
  • 从MathType到Mathpix:揭秘论文公式高效处理的全套解决方案
  • IC设计新手必看:Formality形式验证从入门到实战(附完整脚本)
  • 衡阳职业学校常见问题解答(2026最新专家版) - 速递信息
  • C#五子棋项目复盘:我是如何用二维数组和事件驱动搞定游戏逻辑的
  • 二零二六市场专业的沈阳月子中心公司推荐榜单 - 品牌排行榜
  • UnifoLM-VLA vs LingBot-VA:动作输出方式对比
  • FanControl终极指南:5分钟学会Windows风扇智能控制,告别噪音烦恼
  • ILI9341驱动解析之【一】TFT-LCD像素矩阵与电场控制原理
  • 2026年铁西区靠谱的独栋式月子中心品牌有哪些 - 品牌排行榜
  • 【仅限首批200家企业的SITS2026白名单工具】:AI面试模拟器部署实录与ROI测算表
  • 20252820 2025-2026-2 《网络攻防实践》第5次作业
  • STM32F407定时器ETR模式深度解析:如何突破16位计数限制实现更高频率测量?
  • 15分钟精通FreeCAD绘图尺寸标注:从入门到高效工作流
  • 无线通信模组出海指南:从CCC到ICASA,全球主流市场准入认证全解析
  • VisionPro实战:手把手教你用CogPatInspectTool搞定PCB板缺陷检测(附C#脚本)
  • 数组属性显示为table的配置 - 张永全
  • Obsidian终极B站视频播放指南:Media Extended B站插件完整教程
  • 2026云南自考机构推荐排行榜:Top7深度测评,帮你精准避坑 - 商业科技观察
  • Mac上抓包别再折腾Mono了!Fiddler Everywhere保姆级安装与HTTPS证书配置指南
  • 如何挑选高性价比可用性实验室?采购指南 - 品牌推荐大师
  • Maven插件怎么用?Maven插件配置和开发详解
  • 智慧校园平台如何提升校园安全管理水平?这套系统值得了解
  • 别再瞎调K-Means的K值了!用sklearn的silhouette_score和silhouette_samples帮你科学选簇数
  • B站视频下载终极指南:为什么BiliDownload能完美解决你的视频保存难题?
  • RDMA网卡如何化身‘内存搬运工’?深入拆解WRITE和READ操作的硬件执行流水线
  • Winhance中文版:3步完成Windows系统优化与个性化定制的终极指南
  • UniApp项目实战:用ba-tree-picker插件打造一个可复用的‘部门-员工’选择组件(附完整代码)