我的数据结构与算法题目集代码仓:https://github.com/617076674/Data-structure-and-algorithm-topic-set
原题链接:https://pintia.cn/problem-sets/15/problems/862
题目描述:
知识点:带权图的最短路径
思路:SPFA算法+深度优先遍历(回溯)
本题是PAT-ADVANCED1003——Emergency的中文版。
期望时间复杂度是O(kM),其中k是一个常数,在很多情况下k不超过2,可见这个算法异常高效,并且经常性地优于堆优化的Dijkstra算法。
C++代码:
#include<iostream>
#include<queue>
#include<vector>
#include<set>
using namespace std;
struct node {
int v, len;
node(int _v, int _len) {
v = _v;
len = _len;
}
};
int N, M, S, D, INF = 100000000