#P2934. [USACO09JAN] Safe Travel G
[USACO09JAN] Safe Travel G
Description
小妖精侵占了农场。这些讨厌的类精灵生物会阻挠每头牛从谷仓(位于 (牧场 ))前往其他牧场的行程,其中第 头牛要从 前往 。每个小妖精都经过个性化训练,知道第 头牛前往 的最短路径。第 个小妖精会埋伏在第 头牛最短路径的最后一条道路上,企图骚扰这头牛。
每头牛当然都不希望被骚扰,因此会选择一条与原始最短路径至少存在细微差别的从 到 的新路径。
请计算每头牛避开位于其原始最短路径最后一条道路上的小妖精后,新路线的最短通行时间。
给定 条双向道路(编号 )连接 个牧场(编号 )。第 条道路连接牧场 和 ,通行时间为 。保证没有两条道路连接同一对牧场,且所有测试数据中从 到任意 的最短路径唯一。
例如以下牧场、道路和通行时间:
1--[2]--2-------+
| | |
[2] [1] [3]
| | |
+-------3--[4]--4
TRAVEL 最佳路线 最短时间 最后一条道路
p_1 到 p_2 1->2 2 1->2
p_1 到 p_3 1->3 2 1->3
p_1 到 p_4 1->2->4 5 2->4
当存在小妖精时:
TRAVEL 最佳路线 最短时间 规避道路
p_1 到 p_2 1->3->2 3 1->2
p_1 到 p_3 1->2->3 3 1->3
p_1 到 p_4 1->3->4 6 2->4
- 对于 的测试数据,。
- 对于 的测试数据,。
Input Format
- 第 行:两个空格分隔的整数 和
- 第 行:每行三个空格分隔的整数 、 和
Output Format
- 第 1..N-1 行:第 行输出从 到 时,避开其原始最短路径最后一条道路后的新最短路径时间。若不存在这样的路径,输出 -1。
4 5
1 2 2
1 3 2
3 4 4
3 2 1
2 4 3
3
3
6
京公网安备 11011102002149号