[Usaco2008 Mar]牛跑步
贝茜准备通过从牛棚跑到池塘来锻炼身体。由于她只愿意沿下坡路奔跑,因此她会从牛棚跑到池塘,再步行返回牛棚。
农场中共有 个地点,编号为 到 ,以及 条连接不同地点的道路。若 ,则地点 的海拔高于地点 。地点 是贝茜的牛棚,地点 是池塘。每条道路均从海拔较高的地点 通向海拔较低的地点 ,长度为 。
贝茜不想总是沿同一条路径跑步,因此她希望找出从地点 到地点 的 条不同路径。为了避免过度劳累,她需要这些路径是所有可行路径中最短的 条。
请按长度从小到大的顺序,输出这 条最短路径的长度。如果多条不同路径长度相同,则这些长度仍需分别输出。
输入格式
第一行包含三个整数 、 和 ,分别表示地点数量、道路数量以及需要求出的最短路径数量。
接下来 行,第 行包含三个整数 、 和 ,表示一条从地点 通向地点 、长度为 的下坡道路。
输出格式
输出 行。
第 行输出第 短路径的长度。如果不存在第 条路径,则输出 。
样例输入
5 8 7
5 4 1
5 3 1
5 2 1
5 1 1
4 3 4
3 1 1
3 2 1
2 1 1
样例输出
1
2
2
3
6
7
-1
样例解释
从地点 到地点 的路径按长度从小到大依次为:
- ;
- ;
- ;
- ;
- ;
- 。
一共只有 条可行路径,因此最后输出 。
数据范围
- ,,;
- 对于每条道路,,。
来源与许可
本题为 USACO 2008 March 试题「牛跑步」,题面与测试数据整理自 BZOJ。
样例 1
输入
5 8 7
5 4 1
5 3 1
5 2 1
5 1 1
4 3 4
3 1 1
3 2 1
2 1 1
输出
1
2
2
3
6
7
-1