#abc191e. [abc191_e]Come Back Quickly
[abc191_e]Come Back Quickly
题目描述
在 AtCoder 共和国,有 个编号为 到 的城镇和 条编号为 到 的道路。
第 条道路是从城镇 到城镇 的单行道,通过需要 分钟。可能有 ,而且可能有多条连接同一对城镇的道路。
高桥打算在乡间散步。当散步经过一个以上的道路并返回起始的城镇时,我们称之为有效的散步。
对于每个城镇,确定是否存在以该城镇为起点的有效散步。如果答案是肯定的,则还需找出这样的散步所需的最短时间。
约束条件
- 输入中的所有值均为整数。
输入
从标准输入读入数据,输入格式如下:
输出
输出共 行。第 行 应包含以下内容:
- 如果存在以城镇 为起点的有效散步,则为这样一次散步所需的最短时间;
- 否则为
-1
。
示例输入 1
4 4
1 2 5
2 3 10
3 1 15
4 3 20
示例输出 1
30
30
30
-1
通过道路 ,城镇 组成一个环,绕行一周需要 分钟。
从城镇 ,我们可以前往城镇 ,但无法返回城镇 。
示例输入 2
4 6
1 2 5
1 3 10
2 4 5
3 4 10
4 1 10
1 1 10
示例输出 2
10
20
30
20
可能有一条道路满足 。
在这种情况下,我们可以只使用道路 从城镇 出发并返回该城镇。
示例输入 3
4 7
1 2 10
2 3 30
1 4 15
3 4 25
3 4 20
4 3 20
4 3 30
示例输出 3
-1
-1
40
40
注意可能有多条连接同一对城镇的道路。