数据结构与算法专题题库

1032. 传送门(三)

单点时限: 2.0 sec

内存限制: 512 MB

给定一个包含 $ n $ 的图 $ G(V,E) $ ,以及两个点 $ s,t $ ,现在你想要知道从 $ s $ 到 $ t $ 的最短时间。

但是现在在这个图中存在若干“传送门”,每个“传送门”可以表示为一个二元组 $ (x,y) $ ,表示可以从 $ x $ 传送到 $ y $ 且不花费任何时间,但是所有的“传送门”都最多选择一个使用(也可以不使用)

同时存在如下假设:

  • 在任意一个节点都可以选择是否使用“传送门”

输入格式

第一行一个整数$ task $,满足$ task=3 $表示任务编号(对于完成这道题而言,你可以忽略这一行)。

第二行五个数$n,m,p,s,t$,$n$表示点的个数,$m$表示边的个数,$p$表示传送门的个数,$1 \leq s,t \leq n$。

接下来$m$行,每行三个数$u_i,v_i,c_i$,其中$1 \leq u_i,v_i \leq n,1 \leq c_i \leq 10^9$,表示存在一条从$u_i$到$v_i$且花费时间$c_i$的路径。

接下来$p$行,每行两个数$x_i,y_i$,其中$1 \leq x_i,y_i \leq n$,表示存在从$x_i$转移到$y_i$的传送门。

输出格式

若存在一条从$s$到$t$的路径,则输出一个整数表示最短时间消耗;否则输出inf

样例

Input
3
4 4 2 1 4
1 4 1000
1 2 100
2 3 100
3 4 100
1 2
2 3
Output
200

提示

数据范围:$2 \leq n \leq 10^5,1 \leq m \leq 2 \times 10^5,p \leq 2 \times 10^5$

答案可能超过int

传送门是单向的。

不限期开放

题目列表