SP3640 HNSUBWAY - Hanoi Subway System Construction

题目描述

河内市正在修建一条地铁系统。这条地铁系统由 $M$ 个车站组成,车站编号从 1 到 $M$,以及 $K$ 条双向地铁线路直接相连的车站组成。河内的市区被 $T$ 个独立的居民区覆盖,每个居民区可以看作是一个凸多边形。地铁线路可以穿过这些居民区。当列车在居民区(包括其边界)内运行时,速度为 $v1$;在其他区域时,速度为 $v2$($v1 < v2$)。两个车站 $a$ 和 $b$ 之间的旅行时间是从 $a$ 到 $b$ 的最短时间,可以通过若干中间站进行换乘(忽略换乘时间)。现在,需要从现有车站中选出一个中心车站,使得从中心车站到任何车站的最长旅行时间最小化。 下图展示了一个包含四个地铁站以及四条线路的地铁系统。市区内有三个居民区。在图中,有两段地铁线路是在居民区下穿行的,列车在这两段的速度为 $v1$。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/SP3640/e60d81d94c9f6a4dbd33e264d5846db819052829.png) 给定一个地铁系统,你需要编写程序找出中心车站,并计算从这些中心车站到最远车站的旅行时间。

输入格式

输入文件包含多个数据集。第一行是一个正整数,表示数据集的数量,最多为 20。接下来的几行描述这些数据集。 对于每个数据集,第一行包含五个整数 $M, K, T, v1, v2$($M < 31, K < 50, T < 10, 0 < v1 < v2 < 100$),分别表示车站的数量、地铁线路的数量、居民区的数量、列车在居民区内的速度以及在其他区域的速度。接下来的 $M$ 行中,第 $i$ 行包含两个整数 $X_i$ 和 $Y_i$($-10000 \leq X_i, Y_i \leq 10000$),表示第 $i$ 个车站的坐标。接下来的 $K$ 行中,每行包含两个整数 $A_i$ 和 $B_i$($1 \leq A_i, B_i \leq M$),表示连接的两个车站。然后是 $T$ 个居民区,每个居民区的描述首先给出一个整数 $n_i$($3 \leq n_i \leq 10$),表示多边形的顶点数。接下来的 $n_i$ 行,每行包含两个整数 $X_j$ 和 $Y_j$($-10000 \leq X_j, Y_j \leq 10000$),表示一个顶点的坐标。

输出格式

对于每个数据集,输出一行,包含一个整数,表示 $(t_{\text{max}} \times 100)$ 的整数部分,其中 $t_{\text{max}}$ 是从最远车站到中心车站的旅行时间的最大值。 **本翻译由 AI 自动生成**