- 题目链接:1102 迷宫问题
- 考查知识:BFS+最短路径
- 题意描述:
- 小明置身于一个迷宫,只能向上下左右四个方向移动,且迷宫中存在障碍
- 请找出从起点到终点的最短路程。
- 思路简析:
使用STL的queue时,元素入队的push操作只是制造了原数据a的一个副本,所以q.front()和a修改其中任何一个不会影响到另外一个,所以若要对队列中元素进行修改而不仅仅是访问时,队列中存放的元素最好不是元素本身,而是它们的编号(或数组下标)
- BFS求无权图最短路径,每次访问当前位置的四个方位,将可以访问且未访问的点加入队列
- 当前元素是终点时直接返回最短路径,访问完所有可访问元素时仍未找到终点则返回-1
- 具体代码
#include<bits/stdc++.h> using namespace std;
1102 迷宫问题(BFS+最短路径)
最新推荐文章于 2023-08-15 21:13:05 发布