#P51571. 「2017 山东一轮集训 Day6」重建

「2017 山东一轮集训 Day6」重建

题目描述

给定一个 n n 个点 m m 条边的带权无向连通图 G G ,以及一个大小为 k k 的关键点集合 A A 。有个人要从点 s s 走到点 t t ,现在可以对所有边加上一个非负整数 c c ,问最大的 c c ,使得加上 c c 后,满足:s s t t 的最短路长度 =s = s t t 且只能经过 A A 中的点的最短路长度。

输入格式

第一行一个整数 T T 。代表这个数据点中有 T T 个测试数据。
对于每个测试数据:
第一行包含四个整数 n,m,s,t n, m, s, t
接下来 m m 行,每行三个整数 ui,vi,ci u_i, v_i, c_i ,代表 G G 中有一条 ui u_i vi v_i 的长度为 ci c_i 的无向边。
m+1 m + 1 行包含一个整数 k k
接下来一行 k k 个整数,代表关键点集合 A A 。保证 s s t t 都在 A A 中。

输出格式

对于每个测试数据,输出一行一个整数 c c ,代表最大的合法的加到每条边的权值。假如不存在这样的合法的 c c ,则输出 Impossible \texttt{Impossible} ,假如这样的 c c 可以无穷大,则输出 Infinity \texttt{Infinity}

样例

3
6 8 1 6
1 2 5
1 3 1
2 6 6
2 3 6
4 2 3
3 4 1
4 5 1
5 6 1
5
1 3 6 5 4
3 4 1 2
1 2 6
1 3 2
1 2 7
2 3 3
2
1 2
4 4 1 4
1 2 1
1 3 1
2 4 1
3 4 1
3
1 2 4
3
Infinity
Infinity

数据范围与提示

对于 20% 20\% 的数据,n,m,ci100 n, m, c_i \leq 100
对于 40% 40\% 的数据,n,m100 n, m \leq 100
另外有 20% 20\% 的数据,每个测试数据的答案要么为 Infinity \texttt{Infinity} ,要么为 Impossible \texttt{Impossible}
对于 100% 100\% 的数据,满足 1n1000,1m10000,1ci109,1T3 1 \leq n \leq 1000, 1 \leq m \leq 10000, 1 \leq c_i \leq 10 ^ 9, 1 \leq T \leq 3