P3501益智游戏 | ||
|
Description
小 P 和小 R 在玩一款益智游戏。游戏在一个正权有向图上进行。 小 P 控制的角色要从 A 点走最短路到 B 点,小 R 控制的角色要从 C 点走最短路到 D 点。 一个玩家每回合可以有两种选择,移动到一个相邻节点或者休息一回合。 假如在某一时刻,小 P 和小 R 在相同的节点上,那么可以得到一次特殊奖励,但是在每 个节点上最多只能得到一次。 求最多能获得多少次特殊奖励。
Input Format
第一行两个整数 n,m 表示有向图的点数和边数。 接下来 m 行每行三个整数 xi,yi,li,表示从 xi到 yi有一条长度为 li的边。 最后一行四个整数 A,B,C,D,描述小 P 的起终点,小 R 的起终点。
Output Format
输出一个整数表示最多能获得多少次特殊奖励。若小 P 不能到达 B 点或者小 R 不能到达 D 点则输出-1。
Sample Input
5 5
1 2 1
2 3 2
3 4 4
5 2 3
5 3 5
1 3 5 4
Sample Output
2
Hint
【数据规模】
对于 30%的数据,满足 n≤50
对于 60%的数据,满足 n≤1000,m≤5000 对于
100%的数据,满足 n≤50000,m≤200000,1≤li≤500000000
Source bs