#P3259. [JLOI2014] 路径规划
[JLOI2014] 路径规划
题目描述
相信大家都用过地图上的路径规划功能,只要输入起点终点就能找出一条最优路线。现在告诉你一张地图的信息,请你找出最优路径(即最短路径)。考虑到实际情况,一辆车加满油能开的时间有限,为 ,所以在地图上增加了几个加油站。
地图由点和双向边构成,每个点代表一个路口,也有可能是加油站或起点终点。有些路口还装有红绿灯。由于经过太多的红绿灯会让人感到不爽,所以请求在经过不超过 个红绿灯的情况下,最少平均花费多少时间能从起点到终点。保证起点终点和加油站没有红绿灯。(题目不考虑最坏情况下能否加到油,只考虑平均花费时间的前提下,车能否到达加油站加油)。
注意:
- 指的是车最多能走多长时间,可以看作车的油箱,是不能叠加的(比如不能连续经过多个加油站后剩余能走的时间 )。
- 与上面类似,一个加油站最多只能加到 ,不能累加。
- 不管在加油站加多少油,反正加一次耗费的时间都是 。
- 经过加油站可以不加油。
输入格式
第一行输入 个整数 ,表示有 个点 条边,车能开 长的时间,及加油所花时间 。
接下来 行输入每个点信息,包括点的名称(带 gas
的为加油站,start
为起点,end
为终点),及该点是否有红绿灯,用 表示。(若为 则表示没有, 表示红灯长, 表示绿灯长)。
接下来 行输入每条边信息,包括边的起点,终点,边的名称,通过该边所花时长。
保证点和边名的长度不大于 ,只有大小写字母,数字及 _
组成。
输出格式
一行输出最少平均花费时长。
提示
共 组数据。
- 其中 组数据,满足 ,,。
- 另有 组没有红绿灯。
所有数据满足 ,,,加油站 。