#YHSP1011. 燃油补给
燃油补给
题目:沙漠越野赛燃油补给问题
题目描述
一场精彩的沙漠越野赛即将在广袤沙漠中举行。沙漠中分布着 个补给站(编号 至 ),这些补给站通过 条沙漠公路相连,公路为双向通行。其中第 条公路连接补给站 和 ,路程为 公里。
参赛选手驾驶的越野车油箱容量为 升,行驶 公里消耗 升燃油。当探险队抵达某个补给站时,可选择:
- 在补给站将油箱加满。
- 不加油,直接前往下一个补给站。
现有 个赛程,每个赛程指定从补给站 出发前往目标补给站 。若选手在行驶过程中燃油耗尽,当前赛程挑战失败(不影响后续赛程)并退出比赛。选手从出发补给站出发时,油箱已加满。
需计算对于每个赛程,选手若要挑战成功,从补给站 到 中途至少需补充燃油的次数(不含出发时加满的一箱油) 。若无论如何都无法抵达目的地,则输出 。
输入格式
- 第一行:三个整数 、、 ,分别表示补给站数量、公路数量、油箱容量。
- 接下来 行:每行三个整数 、、 ,表示公路连接的两个补给站及公路长度。
- 下一行:整数 ,表示赛程数量。
- 接下来 行:每行两个整数 、 ,表示每个赛程的出发补给站和目标补给站。
输出格式
输出 行,每行一个整数。第 行数字表示从补给站 到 赛程中,选手至少需补给燃油的次数;若无法抵达则输出 。
样例
- 样例 1 输入
3 2 5
1 2 3
2 3 3
2
1 3
3 2
- 样例 1 输出
1
0
- 样例 1 说明
- 沙漠有 个补给站, 条公路:公路 连接补给站 与 ,长 公里;公路 连接补给站 与 ,长 公里。越野车油箱容量 升,每公里耗油 升,出发时油箱加满。
- 从补给站 到 的赛程:选手可直接从补给站 驶向补给站 ,耗油 升,油箱剩余 升,中途无需补给,输出 。
- 从补给站 到 的赛程:选手先从补给站 驶向补给站 耗油 升,此时油箱剩 升,而前往补给站 还需 升油,所以需在补给站 补给一次将油箱加满才能继续行驶,输出 。
数据范围
对于 的数据,满足 ,,, 且 (每对 不重复,即无重边),,, 且 。
相关
在下列比赛中: