#arc0253. [arc025_3]ウサギとカメ
[arc025_3]ウサギとカメ
问题说明
兔子和乌龟决定在ARC山上进行比赛。
ARC山上有N个中继点,中继点从1到N编号。此外,存在M条连接不同两个中继点的道路。任意两条不同的道路都不会连接相同的中继点。每条道路都有固定的长度。此外,对于ARC山上的任意两个不同中继点,可以通过经过若干条道路来往。
在比赛中,需要从中继点中选择目标点A、兔子的起点B和乌龟的起点C。A、B和C必须是不同的中继点。比赛开始后,兔子以每秒R米的速度,乌龟以每秒T米的速度前进。
现在想要知道,有多少组(A, B, C)满足乌龟按照最优移动的方式,无论兔子选择哪条路径,都能够比乌龟晚到达目的地。
输入
输入以以下格式从标准输入中给出。
N M R T a1 b1 c1 a2 b2 c2 : aM bM cM
- 第一行包含中继点个数N(3≤N≤2,500)、道路数量M(2≤M≤3,000)、兔子速度R(1≤R≤200)和乌龟速度T(1≤T≤200),以空格分隔。
- 第二行到第M+1行描述每条道路的信息。第i行描述了道路i连接的两个中继点ai, bi(1≤ai<bi≤N)和长度ci(1≤ci≤100)。
输出
输出所有满足条件的组合总数,并在末尾换行。
示例1
输入
4 5 2 1
1 2 4
1 3 3
1 4 6
2 3 5
3 4 4
输出
2
有以下两种情况:
- 当目标点、兔子的起点和乌龟的起点分别是(2, 4, 1)时,乌龟直接向目标点前进,在4秒内到达。然而无论兔子选择哪条路径,都至少需要4.5秒才能到达目标点。
- 当目标点、兔子的起点和乌龟的起点分别是(4, 3, 2)时,乌龟直接向目标点前进,在4秒内到达。然而无论兔子选择哪条路径,都至少需要4.5秒才能到达目标点。
因此,共有2种情况满足条件。注意,当目标点、兔子的起点和乌龟的起点分别是(1, 4, 3)时,无论兔子和乌龟都需要至少3秒才能到达目标点。当他们以最佳方式移动时,会同时到达,因此不满足条件。
示例2
输入
5 4 7 7
1 2 1
2 3 1
3 4 1
4 5 1
输出
26