OlveraeUNSW
返回题目列表
COMP2521

Dijkstra · 从 0 出发的最短距离

Dijkstra · 从 0 出发的最短距离

给一个边权非负的无向图,求从节点 0 到每个节点的最短总距离。到不了的点输出 -1。

输入:第一行 V E(节点数、边数);接着 E 行 u v w(一条权为 w 的无向边)。
输出:一行 V 个整数,第 i 个是 0 到 i 的最短距离(到不了为 -1),空格分隔。

例:5 7 的图里若 0→3 权 1、3→1 权 2,则到 1 的最短是 3(绕过直达的 6)。

用小根堆挑当前最近的未访问点,再松弛邻居。

样例

stdin
5 7
0 3 1
0 1 6
3 1 2
3 4 1
1 4 5
1 2 5
4 2 5
期望输出
0 3 7 1 2
python3
14