bfs解决最短路(边权为1)

bfs解决最短路(边权为1)

问题:n行m列矩阵,0能走,1不能走,求左上角到右下角的最短路
算法:宽搜 bfs(breath-first search)bfs的思想就是向外扩展层次,如果边权为1,自然最先扩展到的就是最短路。
bfs:空间要求高;若拿它解决最短路问题必须要边权为1
不多说直接上代码,全在注释里面了

#include <bits/stdc++.h>
using namespace std;
const int N = 110;
typedef pair<int,int> PII;	//坐标点 
int g[N][N];	//记录图 
int d[N][N];	//记录到起点的距离 
queue<PII> q;	//坐标队列
PII Prev[N][N];		//记录每一个点是从哪个点扩展的 
vector<PII> path;	//保存最短路径 
int n,m;
void bfs()
{
   
	memset(d,-1,sizeof d)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值