#E. 道路与航线

    Type: Default 1000ms 256MiB

道路与航线

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

农夫约翰正在一个新的销售区域对他的牛奶销售方案进行调查。

他想把牛奶送到 T 个城镇,编号为 1∼T。

这些城镇之间通过 R 条道路 (编号为 1 到 R) 和 P 条航线 (编号为 1 到 P) 连接。 每条道路i或者航线i连接城镇 Aᵢ 到 Bᵢ,花费为 Cᵢ。

对于道路,0≤Cᵢ≤10,000;然而航线的花费很神奇,花费 Cᵢ可能是负数(−10,000≤Cᵢ≤10,000)。

道路是双向的,可以从 Aᵢ 到 Bᵢ,也可以从 Bᵢ 到 Aᵢ,花费都是 Cᵢ。

然而航线与之不同,只可以从 Aᵢ 到 Bᵢ。

事实上,由于最近恐怖主义太嚣张,为了社会和谐,出台了一些政策:保证如果有一条航线可以从 Aᵢ 到 Bᵢ,那么保证不可能通过一些道路和航线从 Bᵢ 回到 Aᵢ。

由于约翰的奶牛世界公认十分给力,他需要运送奶牛到每一个城镇。

他想找到从发送中心城镇 S 把奶牛送到每个城镇的最便宜的方案。

输入

第一行包含四个整数 T,R,P,S。

接下来 R 行,每行包含三个整数(表示一个道路)Aᵢ,Bᵢ,Cᵢ。

接下来 P 行,每行包含三个整数(表示一条航线)Aᵢ,Bᵢ,Cᵢ。

输出

第 1..T 行:第 i 行输出从 S 到达城镇i的最小花费,如果不存在,则输出 NO PATH。

样例

6 3 3 4
1 2 5
3 4 5
5 6 10
3 5 -100
4 6 -100
1 3 -10
NO PATH
NO PATH
5
0
-95
-100

数据范围

1≤T≤25000, 1≤R, P≤50000, 1≤Aᵢ,Bᵢ, S≤T

每个测试用例时间限制1s,内存限制256MB。

B组

Not Attended
Status
Done
Rule
OI
Problem
5
Start at
2024-10-25 19:00
End at
2024-10-25 20:39
Duration
1.7 hour(s)
Host
Partic.
21