#382. 奶牛开车

奶牛开车

【题目描述】

Farmer John 有 N 个农场,编号为 1 ~ N。

有 M 条单向道路,每条道路连接两个不同的农场,从一个农场到另一个农场最多有一条单向道路。

奶牛们经常开车在路上跑得飞快。为了防止事故,John 给每条道路设立了限速牌,并安装了限速抓拍摄像头。如果奶牛驾车超速,将被扣分和罚款。

当然,不同道路的路况不同,限速也可能不同。而且有些道路的限速牌被一些奶牛给涂抹了,只显示一个数字 0。

奶牛 Bessie 住在 A 号农场。她要开车去 B 号农场。她在 A 号农场的初始速度为 C。当她一出发,速度可选择立即调整。她不想被扣分和罚款,所以她不会超速。但是碰到被涂抹的限速牌,Bessie 不敢贸然提速,她会选择按照上一条道路的速度继续行驶。在每个农场处拐弯和调整速度花费的时间忽略不计。

问:Bessie 如何规划路线,可以最快到达目的地?

你能帮助她吗?

【输入】

第一行:N, M, A, B, C

接下来 M 行:每行四个整数 X, Y, Z, V 表示从农场 X 到 Y 有一条长度为 Z 的单向道路,限速为 V。如果 V = 0 表示限速牌被涂抹。

【输出】

一行,依次输出从起点到终点经过的农场编号。数据保证答案唯一。

【样例输入】

4 5 1 2 80
1 2 100 20
1 3 50 100
3 4 100 0
4 2 200 120
3 2 300 0

【样例输出】

1 3 4 2

【数据范围】

30% 的数据: N20N ≤ 20

100% 的数据: $2 ≤ N ≤ 200; 1 ≤ M ≤ N(N-1)/2; 1 ≤ A, B, X, Y ≤ N; 0 ≤ C, V ≤ 500; 1 ≤ Z ≤ 500$