返回题目列表
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