#ABC143E. Travel by Car
Travel by Car
题目描述
There are towns numbered to and roads. The -th road connects Town and Town bidirectionally and has a length of .
Takahashi will travel between these towns by car, passing through these roads. The fuel tank of his car can contain at most liters of fuel, and one liter of fuel is consumed for each unit distance traveled. When visiting a town while traveling, he can full the tank (or choose not to do so). Travel that results in the tank becoming empty halfway on the road cannot be done.
Process the following queries:
- The tank is now full. Find the minimum number of times he needs to full his tank while traveling from Town to Town . If Town is unreachable, print .
有编号为 至 的 个镇和 条公路。 (条)公路双向连接 镇和 镇,长度为 。
高桥将开车往返于这些城镇之间,途经这些道路。他的汽车油箱最多可装 升燃料,每行驶一个单位距离消耗一升燃料。在旅行途中到达一个城镇时,他可以将油箱加满(也可以选择不加满)。如果半路上油箱变空,则无法行驶。
处理下列 查询:
- 油箱现在是满的。求从城镇 到城镇 的路程中,他需要加满油箱的最少次数。如果城镇 无法到达,则打印 。
输入格式
输入内容按以下格式标准输入:
输出格式
打印 行。
行应包含从城镇 到城镇 途中油箱需要加满的最少次数。如果城镇 无法到达,则该行应包含 。
样例 #1
样例输入 #1
3 2 5
1 2 3
2 3 3
2
3 2
1 3
样例输出 #1
0
1
样例 #2
样例输入 #2
4 0 1
1
2 1
样例输出 #2
-1
样例 #3
样例输入 #3
5 4 4
1 2 2
2 3 2
3 4 3
4 5 2
20
2 1
3 1
4 1
5 1
1 2
3 2
4 2
5 2
1 3
2 3
4 3
5 3
1 4
2 4
3 4
5 4
1 5
2 5
3 5
4 5
样例输出 #3
0
0
1
2
0
0
1
2
0
0
0
1
1
1
0
0
2
2
1
0
说明
数据规模与约定
- 输入值均为整数
- (如果 )
- (如果 )
- (如果 )
样例 解释
从城镇 到城镇 ,我们可以使用第二条路到达城镇 ,途中无需给油箱加油。
从城镇 到城镇 ,我们可以先使用第一条道路到达城镇 ,加满油箱,然后使用第二条道路到达城镇 。
样例 解释
可能根本没有路