#P8136. 「2017 山东一轮集训 Day6」重建
「2017 山东一轮集训 Day6」重建
「2017 山东一轮集训 Day6」重建
题目描述
给定一个有 个点、 条边的带权无向图 ,以及 个关键点编号。点的编号为 。
有一个人要从点 走到点 。现在可以选择一个非负整数 ,并把图中每一条边的边权都增加 。
对于修改后的图,考虑下面两种最短路:
- 从 到 的普通最短路;
- 从 到 ,并且路径上经过的所有顶点都必须是关键点的最短路。
求最大的非负整数 ,使得这两种最短路的长度相等。
如果不存在任何合法的非负整数 ,输出 Impossible;如果合法的 可以任意大,输出 Infinity。
输入中给出的 个关键点编号可能出现重复;重复编号视为同一个关键点。保证 和 都是关键点,并保证原图中 与 可达。图中可能存在与 所在连通块无关的顶点。
输入格式
第一行一个整数 ,表示测试数据组数。
对于每组测试数据:
第一行四个整数 。
接下来 行,每行三个整数 ,表示一条连接 与 、边权为 的无向边。
接下来一行一个整数 。
接下来给出 个整数,表示关键点编号。它们之间可以由任意空白字符分隔。
输出格式
对于每组测试数据输出一行:
- 若存在最大的合法非负整数 ,输出这个整数;
- 若不存在合法的 ,输出
Impossible; - 若任意大的 都可以满足条件,输出
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
数据范围与约定
对于 的数据,。
对于 的数据,。
另外有 的数据,每组测试的答案一定为 Infinity 或 Impossible。
对于全部数据:
- ;
- ;
- ;
- ;
- ;
- ;
- 每个给出的关键点编号均在 内;
- 均为关键点;
- 保证 与 在原图中可达。