#P15184. [SWERC 2019] Environment-Friendly Travel
[SWERC 2019] Environment-Friendly Travel
说明
不幸的是,度假会产生碳足迹。每旅行一公里的 CO₂ 成本取决于交通方式。例如,火车旅行的成本低于巴士,而巴士又低于汽车。
你的目标是规划一次从你家(坐标为 )到旅行目的地(坐标为 )的假期行程。由于意识到旅行对环境的影响,你希望最小化假期的 CO₂ 成本,但同时仍希望将总旅行公里数控制在给定的预算 内。
为了帮助你规划,你可以访问一张包含 个车站的地图,这些车站可能通过 种不同的交通方式(飞机、火车等)连接,编号为 。每种方式每距离单位的 CO₂ 成本为 。你可以开车从家到目的地、从家到任何车站、以及从任何车站到目的地,每距离单位的成本为 。 总是大于 中的任何一个。
每个车站 ()都有坐标 。每个车站可能通过一种或多种交通方式连接到其他车站。每个连接是双向的,因此只需列出其中一个方向。两个车站之间可能有多种交通方式可用。你只能使用可用的交通方式通过车站之间的连接旅行(车站之间不允许开车旅行)。
两点 和 之间的距离是 和 之间的二维距离,向上取整到最近的整数:
$$\text{dist}(a, b) = \left\lceil \sqrt{(x_a - x_b)^2 + (y_a - y_b)^2} \right\rceil,$$而使用交通方式 在 和 之间旅行的 CO₂ 成本为:
$$\text{cost}(a, b, i) = C_i \times \text{dist}(a, b).$$给定两个源-目的地坐标、以距离单位表示的预算 、交通方式列表及其各自的 CO₂ 成本,以及车站网络,你的任务是计算在最多旅行 公里的情况下可能的最小 CO₂ 成本。
输入格式
输入包含以下行:
- 第 1 行包含两个空格分隔的整数 和 ,你家的坐标。
- 第 2 行包含两个空格分隔的整数 和 ,目的地的坐标。
- 第 3 行包含一个整数 ,你接受的最大旅行距离(公里)。
- 第 4 行包含一个整数 ,开车旅行每距离单位的 CO₂ 成本。
- 第 5 行包含一个整数 ,交通方式的数量(除汽车外)。
- 对于 ,第 行包含整数 ,交通方式 每距离单位的 CO₂ 成本。
- 第 行包含整数 ,车站的数量。
- 对于 ,第 行描述车站 ,包含 个空格分隔的整数。前三个整数是 、 和 。 表示车站 的坐标,而 是车站 与其他车站之间的连接数。剩余的 对整数 各描述一个到车站 ()的连接,使用交通方式 ()。所有连接都是双向的。
输出格式
输出应包含一行,一个整数,表示在公里预算内可达到的最小 CO₂ 成本;如果找不到可行的成本,则输出 。
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₂ 成本:
- 从家 开车到车站 0 ,成本为 $100 \times \left\lceil \sqrt{1^2 + 2^2} \right\rceil = 300$,
- 通过交通方式 2 到车站 2 ,成本为 $50 \times \left\lceil \sqrt{7^2 + 0^2} \right\rceil = 350$,
- 开车到目的地 ,成本为 $100 \times \left\lceil \sqrt{1^2 + 1^2} \right\rceil = 200$,总计 850。
该路线有效,因为总旅行距离为 ,在允许的预算 12 内。
数据范围
所有输入均为整数。所有坐标在 范围内。
- ;
- ;
- ;
- ;
- 每个车站最多有 100 条到其他车站的连接。
翻译由 DeepSeek 完成
京公网安备 11011102002149号