优先队列+BFS(广度优先搜索)

本文介绍了如何使用优先队列配合BFS(广度优先搜索)来解决寻找二维矩阵中最短路径的问题。在优先队列中,最大值总是位于队首,从而能保证每次选择耗时最短的路径。通过这种方式,可以高效地找到从起点到终点的最小时间。文章提供了具体的输入格式、输出样例和代码实现。
摘要由CSDN通过智能技术生成

优先队列

优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于给队列里的元素进行了由大到小的顺序排序。元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则,和普通队列不同的是,队首元素是q.top()。

题目

在育英,大家最头疼的事情就是晨跑了,因为每天早上大家都要被迫从温暖的被窝爬起来去晨跑令人非常不爽。
育英的晨跑是使用一款APP来规定晨跑路线,我们可以把育英校园看作一个n * m的二维矩阵。LZY的起点在左上角(0,0),而APP规定的终点为右下角(n - 1,m - 1) 。
LZY跑到每个点的用时都不一样,现在LZY为了偷懒,想找一条耗时最短的捷径,你能帮帮他吗?

输入格式

测试样例由多组测试数据组成。每组测试数据第一行输入两个正整数n, m(1 <= n,m <= 100)
接下来输入n*m个数字,每个数字不超过500

输出

输出LZY从起点跑到终点的最短用时

输入样例

3 3
3 2 1
3 2 1
3 2 1

输出样例

8

代码

利用排

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值