#P15184. [SWERC 2019] Environment-Friendly Travel

[SWERC 2019] Environment-Friendly Travel

说明

不幸的是,度假会产生碳足迹。每旅行一公里的 CO₂ 成本取决于交通方式。例如,火车旅行的成本低于巴士,而巴士又低于汽车。

你的目标是规划一次从你家(坐标为 (xs,ys)(x_s, y_s))到旅行目的地(坐标为 (xd,yd)(x_d, y_d))的假期行程。由于意识到旅行对环境的影响,你希望最小化假期的 CO₂ 成本,但同时仍希望将总旅行公里数控制在给定的预算 BB 内。

为了帮助你规划,你可以访问一张包含 NN 个车站的地图,这些车站可能通过 TT 种不同的交通方式(飞机、火车等)连接,编号为 1,,T1, \ldots, T。每种方式每距离单位的 CO₂ 成本为 C1,,CTC_1, \ldots, C_T。你可以开车从家到目的地、从家到任何车站、以及从任何车站到目的地,每距离单位的成本为 C0C_0C0C_0 总是大于 C1,,CTC_1, \ldots, C_T 中的任何一个。

每个车站 iii=0,,N1i = 0, \ldots, N - 1)都有坐标 (xi,yi)(x_i, y_i)。每个车站可能通过一种或多种交通方式连接到其他车站。每个连接是双向的,因此只需列出其中一个方向。两个车站之间可能有多种交通方式可用。你只能使用可用的交通方式通过车站之间的连接旅行(车站之间不允许开车旅行)。

两点 aabb 之间的距离是 (xa,ya)(x_a, y_a)(xb,yb)(x_b, y_b) 之间的二维距离,向上取整到最近的整数:

$$\text{dist}(a, b) = \left\lceil \sqrt{(x_a - x_b)^2 + (y_a - y_b)^2} \right\rceil,$$

而使用交通方式 iiaabb 之间旅行的 CO₂ 成本为:

$$\text{cost}(a, b, i) = C_i \times \text{dist}(a, b).$$

给定两个源-目的地坐标、以距离单位表示的预算 BB、交通方式列表及其各自的 CO₂ 成本,以及车站网络,你的任务是计算在最多旅行 BB 公里的情况下可能的最小 CO₂ 成本。

输入格式

输入包含以下行:

  • 第 1 行包含两个空格分隔的整数 xsx_sysy_s,你家的坐标。
  • 第 2 行包含两个空格分隔的整数 xdx_dydy_d,目的地的坐标。
  • 第 3 行包含一个整数 BB,你接受的最大旅行距离(公里)。
  • 第 4 行包含一个整数 C0C_0,开车旅行每距离单位的 CO₂ 成本。
  • 第 5 行包含一个整数 TT,交通方式的数量(除汽车外)。
  • 对于 1iT1 \leq i \leq T,第 i+5i + 5 行包含整数 CiC_i,交通方式 ii 每距离单位的 CO₂ 成本。
  • T+6T + 6 行包含整数 NN,车站的数量。
  • 对于 0i<N0 \leq i < N,第 i+T+7i + T + 7 行描述车站 ii,包含 3+2×li3 + 2 \times l_i 个空格分隔的整数。前三个整数是 xix_iyiy_ilil_i(xi,yi)(x_i, y_i) 表示车站 ii 的坐标,而 lil_i 是车站 ii 与其他车站之间的连接数。剩余的 lil_i 对整数 (j,mj)(j, m_j) 各描述一个到车站 jj0j<N0 \leq j < N)的连接,使用交通方式 mjm_j1mjT1 \leq m_j \leq T)。所有连接都是双向的。

输出格式

输出应包含一行,一个整数,表示在公里预算内可达到的最小 CO₂ 成本;如果找不到可行的成本,则输出 1-1

1 1
10 2
12
100
2
10
50
3
2 3 2 1 1 2 2
5 5 1 2 1
9 3 0
850

提示

样例解释

结果对应以下路线的 CO₂ 成本:

  1. 从家 (1,1)(1,1) 开车到车站 0 (2,3)(2,3),成本为 $100 \times \left\lceil \sqrt{1^2 + 2^2} \right\rceil = 300$,
  2. 通过交通方式 2 到车站 2 (9,3)(9,3),成本为 $50 \times \left\lceil \sqrt{7^2 + 0^2} \right\rceil = 350$,
  3. 开车到目的地 (10,2)(10,2),成本为 $100 \times \left\lceil \sqrt{1^2 + 1^2} \right\rceil = 200$,总计 850。

该路线有效,因为总旅行距离为 3+7+2=123 + 7 + 2 = 12,在允许的预算 12 内。

数据范围

所有输入均为整数。所有坐标在 [0,100]×[0,100][0, 100] \times [0, 100] 范围内。

  • 1T1001 \leq T \leq 100
  • 1N10001 \leq N \leq 1000
  • 0B1000 \leq B \leq 100
  • 1C1,,CT<C01001 \leq C_1, \ldots, C_T < C_0 \leq 100
  • 每个车站最多有 100 条到其他车站的连接。

翻译由 DeepSeek 完成