#joi2014yoe. [joi2014yo_e]タクシー (Taxis)
[joi2014yo_e]タクシー (Taxis)
问题
IOI国由 个城市组成,编号从城市 到城市 ,城市之间通过道路相连。IOI国有 条道路,每条道路连接两个不同的城市。车辆可以双向自由行驶在道路上,但不能通过非道路的地点从一个城市到达另一个城市。
JOI同学住在IOI国的城市 ,决定乘坐出租车去祖母的家,位于城市 。IOI国有 家出租车公司,分别编号从出租车公司 到出租车公司 。IOI国的出租车公司有一些特殊规则:
- 只能在出租车公司 的出租车上乘车,其中 是城市 的编号。
- 出租车公司 的车费固定为 ,不论乘车路程如何。
- 出租车公司 的出租车在乘车后连续最多只能经过 条道路。
例如,当 时,如果乘坐城市 的出租车,则最多只能经过 条道路,因此如果需要经过 条以上的道路,则需要在途中的城市换乘出租车。
JOI同学不能在城市以外的地点乘坐或下车出租车,也不能使用除出租车以外的交通方式。请编写一个程序,计算JOI同学到达城市 所需的最小总车费。
输入
输入由 行组成。
第 行包含两个整数 和 ( ,),表示IOI国有 个城市和 条道路。
接下来的 行中的第 行( )包含两个整数 和 ( ,),表示第 家出租车公司的车费为 ,乘车后连续最多经过 条道路。
接下来的 行中的第 行( )包含两个不同的整数 和 ( ),表示城市 和城市 之间存在一条道路。同一对 不会出现两次以上。
在给定的输入数据中,保证从任意一个城市到另一个城市都可以通过乘坐出租车到达。
输出
输出一个整数,表示JOI同学从城市 前往城市 所需的最小总车费。
示例输入 1
6 6
400 2
200 1
600 3
1000 1
300 5
700 4
1 2
2 3
3 6
4 6
1 5
2 4
示例输出 1
700
上述输入输出示例对应以下图示。圆表示城市,线表示道路。
为了以最低的车费到达城市 ,JOI同学可以按照以下步骤进行:
从城市 乘坐出租车去城市 (车费为 )。
从城市 乘坐出租车去城市 (车费为 )。
如果JOI同学按照这种路径行驶,总车费为 ,因此输出为 。