问题 F: 简单的图上问题

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

题目描述

给你一个$N$个点$M$条单向边的图,每条边有权值,(可能有自环),询问从$i$出发经过一条及以上的边再次回到$i$经过的边的最小权值之和。如果不能回到$i$,输出$-1$。

输入

$N$ $M$ 以下$M$行
$X_i$ $Y_i$ $Z_i$ 表示存在从$X_i$到$Y_i$存在权值为$Z_i$的边。
$1<=N<=2000$
$1<=M<=2000$
$1<=X_i,Y_i<=N$
$1<=Z_i<=10^5$
所有输入的数都是整数

输出

输出$N$行,第$i$行表示$i$要重新回到$i$所经过边权和的最小值。如果不能回到,输出$-1$。

样例输入 复制

4 4
1 2 5
2 3 10
3 1 15
4 3 20

样例输出 复制

30
30
30
-1