3205: Dijkstra算法

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:17 解决:11

题目描述

Dijkstra算法是一种求解最短路径的贪心算法,它能够找到两点之间的最短路径。 1. 创建一个数组用于记录起始点到其他节点的距离,初始化为无穷大。 2. 创建一个数组用于记录节点是否已经被访问过,初始化为false。 3. 将起始点到自身的距离设为0。 4. 遍历图中所有节点,对于每个节点: 1) 找到起始点到该节点距离最短的节点(即未被访问过且距离最小的节点)。 2) 标记该节点已经被访问过。 3) 遍历该节点的所有邻居节点,更新起始点到邻居节点的距离。 5. 最终得到起始点到其他所有节点的最短距离。

输入

依次输入节点数, 有向线段数, 起点, 终点(数字间以空分隔)

输出

最短路径

样例输入 复制

5 6 1 5
1 2 4
2 5 10
1 3 5
3 2 1
3 4 2
4 5 6

样例输出 复制

13