/ Vijos / 题库 /

安全路径

安全路径

时间限制:1秒  内存限制:256M


【题目描述】

  灵最近在农场上泛滥,他们经常会阻止牛们从农庄(牛棚 1)走到别的牛棚(牛 \(i\) 的目的地是牛棚 \(i\))。每一个精灵只认识牛 \(i\) 并且知道牛 \(i\) 一般走到牛棚 \(i\) 的最短路径。所以他们在牛 \(i\) 到牛棚 \(i\) 之间的最后一条牛路上等牛 \(i\)。当然,牛不愿意遇到精灵,所以准备找一条稍微不同的路径从牛棚 1 走到牛棚 \(i\)。请你为每一头牛 \(i\) 找出避免精灵的最短路径长度。

  和往常一样,农场上有 \(n\) 个牛棚(编号为 \(1..n\)), \(m\) 条双向牛路(编号为 \(1..m\))把牛棚连接起来,能让所有牛到达它们的目的地。牛路 \(i\) 连接牛棚 \(a_i\) 和 \(b_i\) 并且需要时间 \(t_i(1≤t_i≤1000)\) 通过。没有两条牛路连接同样的牛棚,所有牛路满足 \(a_i!=b_i\)。所有数据中,牛 \(i\) 使用的牛棚 1 到牛棚 \(i\) 的最短路径是唯一的。

【输入格式】

  第一行包含两个空格分开的整数:\(n,m\)。之后的 \(m\) 行,每行包含三个空格分开的数 \(a_i,b_i,t_i\),表示一条牛路连接的 \(a_i,b_i\) 两个牛棚,通过这条牛路的时间为 \(t_i\)。

【输出格式】

  第 1 到 \(n-1\) 行:第 \(i\) 行包含一个数,从牛棚 1 到牛棚 \(i+1\) 并且避免从牛棚 1 到牛棚 \(i+1\) 最短路径上最后一条牛路的最少的时间。如果这样的路径不存在,输出 -1。

【输入输出样例】

 Input

4 5
1 2 2
1 3 2
3 4 4
3 2 1
2 4 3

 Output

3
3
6

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n≤100000\),\(2≤m≤200000\)。

【来源】

  Mr.he

信息

ID
2051
难度
(无)
分类
图结构 | 最短路 点击显示
标签
递交数
0
已通过
0
通过率
?
被复制
3
上传者