题目名称 1825. [USACO Jan11]道路与航线
输入输出 roadplane.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 16
题目来源 GravatarChenyao2333 于2014-11-25加入
开放分组 全部用户
提交状态
分类标签
图论 最短路
分享题解
通过:85, 提交:297, 通过率:28.62%
GravatarAntiLeaf 100 0.231 s 63.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.267 s 7.16 MiB C++
Gravatar可以的. 100 0.276 s 3.11 MiB C++
Gravatar河北交通广播992大师来了 100 0.278 s 3.31 MiB C++
Gravatar河北交通广播992大师来了 100 0.279 s 3.11 MiB C++
Gravatar河北交通广播992大师来了 100 0.287 s 3.31 MiB C++
GravatarHZOI_蒟蒻一只 100 0.307 s 2.02 MiB C++
Gravatar하루Kiev 100 0.340 s 5.21 MiB C++
GravatarKulliu 100 0.355 s 2.35 MiB C++
Gravatar河北交通广播992大师来了 100 0.363 s 3.29 MiB C++
关于 道路与航线 的近10条评论(全部评论)
RT,O2
Gravatar┭┮﹏┭┮
2023-12-25 20:38 10楼
斯以为是有题解可以过了,调了一晚上一分没加好耶
Gravatar在大街上倒立游泳
2023-11-07 21:05 9楼
啊呀一个感叹号调试一下午
Gravatarlihaoze
2022-10-27 17:57 8楼
回复 @Chenyao2333 :
如你所愿,我也被卡了,╭(╯^╰)╮
Gravatar落痕
2018-03-27 20:19 7楼
均值优化还比不上队首比较,太坑了吧!!!
GravatarHzoi_chairman
2016-10-09 20:45 6楼
催化肥挥发会发黑,膜拜神犇杨尚霏。
Gravatar_Itachi
2016-10-08 06:26 5楼
回复 @红莲之心炽热_血瞳洞穿无尽阴暗 :
同是天涯沦落人,%拜神犇董博文
GravatarAntiLeaf
2016-10-07 21:00 4楼
暴力水过
GravatarAntiLeaf
2016-10-07 20:40 3楼
神奇啊神奇然而还是没有参透
GravatarDissolute丶Tokgo
2015-11-05 19:24 2楼
卡spfa好题,不能只让我一个人被卡,一起来开心下。题解
GravatarChenyao2333
2014-11-25 10:46 1楼

1825. [USACO Jan11]道路与航线

★★☆   输入文件:roadplane.in   输出文件:roadplane.out   简单对比
时间限制:1 s   内存限制:256 MiB

Description

$Farmer$ $John$正在一个新的销售区域对他的牛奶销售方案进行调查。

他想把牛奶送到 $T$ 个城镇 $(1 <= T <= 25,000)$,编号为$1...T$。

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

每条道路 $i$ 或者航线 $i$ 连接城镇$A_i (1 <= A_i <= T)$到$B_i (1 <= B_i <= T)$,花费为$C_i$。对于道路,$0 <= C_i <= 10,000;$

然而航线的花费很神奇,花费 $C_i$ 可能是负数$(-10,000 <= C_i <= 10,000)$。

道路是双向的,可以从 $A_i$ 到 $B_i$,也可以从 $B_i$ 到 $A_i$,花费都是$C_i$。然而航线与之不同,只可以从$A_i到B_i$。

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

由于 $FJ$ 的奶牛世界公认十分给力,他需要运送奶牛到每一个城镇。他想找到从发送中心城镇 $S(1 <= S <= T)$ 把奶牛送到每个城镇的最便宜的方案,或者知道这是不可能的。

 Input Fomat

* 第 $1$ 行:四个空格隔开的整数: $T,R,P,S$ 

* 第 $2$ 到 $R+1$ 行:三个空格隔开的整数(表示一条道路):$A_i, B_i,C_i$

* 第 $R+2$ 到 $R+P+1$ 行:三个空格隔开的整数(表示一条航线):$A_i,B_i,C_i$ 

Output Fomat

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

Sample Input 

6 3 3 4
1 2 5
3 4 5
5 6 10
3 5 -100
4 6 -100
1 3 -10


样例输入解释: 一共$6$个城镇。在$1-2,3-4,5-6$之间有道路,花费分别是$5,5,10$。同时有三条航线:$3->5, 4->6和1->3$,花费分别是$-100,-100,-10$。$FJ$的中心城镇在城镇$4$。

Sample Output 

NO PATH
NO PATH
5
0
-95
-100


样例输出解释: $FJ$的奶牛从$4$号城镇开始,可以通过道路到达$3$号城镇。然后他们会通过航线达到$5$和$6$号城镇。 但是不可能到达$1$和$2$号城镇。

HINT 

$Source$ $Gold$