Skip to content

Latest commit

 

History

History

0342

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

题目

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

他想把牛奶送到 $T$ 个城镇,编号为 $1 \sim T$

这些城镇之间通过 $R$ 条道路 (编号为 $1$$R$) 和 $P$ 条航线 (编号为 $1$$P$) 连接。

每条道路 $i$ 或者航线 $i$ 连接城镇 $A_i$$B_i$,花费为 $C_i$

对于道路,$0 \le C_i \le 10,000$;然而航线的花费很神奇,花费 $C_i$ 可能是负数($-10,000 \le C_i \le 10,000$)。

道路是双向的,可以从 $A_i$$B_i$,也可以从 $B_i$$A_i$,花费都是 $C_i$

然而航线与之不同,只可以从 $A_i$$B_i$

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

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

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

输入格式

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

接下来 $R$ 行,每行包含三个整数(表示一个道路)$A_i,B_i,C_i$。

接下来 $P$ 行,每行包含三个整数(表示一条航线)$A_i,B_i,C_i$。

输出格式

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

数据范围

$1 \le T \le 25000$,

$1 \le R,P \le 50000$,

$1 \le A_i,B_i,S \le T$

输入样例:

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

题解