PKU POJ 1724 ROADS 解题报告

看来我的搜索真的很烂,简单的搜索都搞定的这么痛苦

题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1724

题目大意是输入 拥有钱数,城市数,路的数量

然后输入格式是 起点,终点,路长,路费

要求从城市1到城市n的路费不超过拥有的钱的最短路

就是有条件的最短路问题

我的方法就是BFS搜索

减枝的地方很简单,就是路费超过拥有的费用就跳过,记录状态时候可以用堆或者优先队列如图:

如果路的输入是

1 2 3 0
1 3 2 0
1 4 5 0
3 4 9 0
2 4 1 0

那么BFS的结果就是(带括号的为到终点的路长)

第一层1->2,1->3,1->4,记录的状态就是路长分别为:3,2,5,队列为:2,3,(5)

第二层3->4,队列为:3,(5),(11)

第三层2->4,队列为:(4),(5),(11)

由于最短路径是到终点的,所以跳出,4就是答案

贴代码:

Last updated

Was this helpful?