尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

走迷宫(BFS)

走迷宫(BFS)
📅 发布时间:2026/6/19 0:55:03

image

输入样例:

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 

期望输出:

8

代码实现:

 

#include<bits/stdc++.h>
using namespace std;typedef pair<int,int> pii;
const int N = 110;int n ,m;
int s[N][N];//用存放地图
int d[N][N];//用于存放每个点到起点的距离
pii q[N*N];//定义一个队列,手动模拟int dx[]={0,0,-1,1};
int dy[]={-1,1,0,0};int bfs()
{int h=0,t=0;//队头和队尾q[0]={0,0};memset(d,-1,sizeof(d));//把所有点距离置为-1表示没有走过。d[0][0]=0;//起点自身的距离是0while(h<=t)//队列非空{auto k = q[h++];//取出队头//尝试往上下左右四个方向扩展for(int i=0;i<4;i++){int x = k.first + dx[i];int y = k.second + dy[i];//判断 点是否在范围内 并且 可以走 并且 没走过if(x>=0 && x<n && y>=0 && y<m &&s[x][y]==0 &&d[x][y]==-1){d[x][y]=d[k.first][k.second]+1;q[++t] = {x,y};}}}return d[n-1][m-1];
}int main()
{cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>s[i][j];}}cout<<bfs()<<endl;}

相关新闻

  • MyBatis分页的原理和分页插件的原理是什么
  • 旋转图像-leetcode
  • 哪些ERP系统值得长期使用?2025年最新盘点来了!

最新新闻

  • 洛雪音乐音源全解析:从多平台聚合到高品质音乐自由的技术实现
  • 从零开始:15分钟掌握Sionna通信仿真库的终极指南
  • 2026年大连家装新选择:揭秘无增项的全屋定制装修服务团队实力 - 品牌鉴赏官2026
  • Win11Debloat终极指南:让Windows 11运行速度提升51%的免费优化工具
  • 2026年湖北大学小自考本科行政管理专业报名到拿证流程 - 武汉中职最新信息发布
  • OpenArk深度解析:Windows系统底层工具实战指南与安全误报完整解决方案

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号