#z115. 单源次短路
单源次短路
题目描述:
给定一个有向图,包含 n 个节点和 m 条边。每条边都有一个正权值。现在指定一个源点 s,要求计算从源点 s 到其他每个节点的次短路长度。次短路是指从源点到某节点所有路径中长度第二短的路径长度。如果不存在次短路(即到某节点只有一条路径),则输出 -1。
输入:
- 第一行输入三个整数
n、m和s,分别表示节点数、边数和源点编号,以空格分隔。 - 接下来
m行,每行输入三个整数u、v和w,表示存在一条从节点u到节点v的有向边,权值为w,以空格分隔。
输出:
输出 n-1 行,第 i 行(i = 1,2,…,n-1)输出从源点 s 到节点 i+1(如果 i+1 ≠ s)的次短路长度,如果不存在次短路则输出 -1。
样例:
输入:
4 4 1
1 2 100
2 4 200
2 3 200
3 4 100
输出:
-1
-1
400