#P3008. [USACO11JAN] Roads and Planes G

[USACO11JAN] Roads and Planes G

[USACO11JAN] Roads and Planes G

题目描述

有 TT 个城镇、RR 条双向道路和 PP 条单向航线。道路费用非负,航线费用可以为负。每条道路或航线从 AiA_i 连接到 BiB_i,费用为 CiC_i。题目保证:对于任意航线 Ai→BiA_i\to B_i,无法通过道路和航线从 BiB_i 返回 AiA_i。给定出发城镇 SS,求从 SS 到每个城镇的最小费用。

输入格式

第一行输入 T,R,P,ST,R,P,S。随后 RR 行每行输入 Ai,Bi,CiA_i,B_i,C_i,描述双向道路;再随后 PP 行按相同格式描述单向航线。

输出格式

输出 TT 行。第 ii 行为从 SS 到城镇 ii 的最小费用。若不可达,输出 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≤250001\le T\le25000,1≤R,P≤500001\le R,P\le50000,1≤S,Ai,Bi≤T1\le S,A_i,B_i\le T。道路费用满足 0≤Ci≤100000\le C_i\le10000,航线费用满足 −10000≤Ci≤10000-10000\le C_i\le10000。样例中,城镇 1,21,2 无法从 44 到达。

来源

P3008