#L4991. 「POI 2023/2024 R2」Rycerz
「POI 2023/2024 R2」Rycerz
题目描述
题目译自XXII Olimpiada Informatyczna — II etap Trzy Wieże
在 Bajtocja 王国,有 座城市通过 条双向道路相连,每条道路通行需耗时一天。城市编号从 到 。一位骑士从城市 出发,需在最多 天内抵达城市 ,挑战一只强大的怪兽。
骑士将使用 把不同类型的剑,类型编号从 到 ,每把剑具有非负整数值。初始时,骑士持有每种类型的剑,价值均为 。每条道路旁驻扎 名剑匠,第 条道路的第 名剑匠可将类型 的剑价值调整为 。骑士通过道路时,可选择任意剑匠调整任意子集的剑,每种剑可多次调整。
骑士希望最大化类型 的剑价值;在保证类型 价值最大的前提下,最大化类型 的剑价值,依此类推,直至类型 。调整顺序无关紧要,仅关注最终价值。已知道路网络保证从城市 到 在 天内可达,骑士可多次经过城市或道路。你的任务是确定骑士在最佳路径规划下的剑价值。
输入格式
第一行包含四个整数 , , , (, , ),分别表示城市数、道路数、最多天数和剑类型数。
接下来的 行,每行包含 个整数 , , ,描述第 条道路。其中 , (, ) 表示道路连接的城市编号, () 表示第 名剑匠可将类型 的剑调整为该价值。同一城市对可能有多条道路。
输出格式
输出一行,包含 个非负整数 ,以空格分隔。 表示骑士在最多 天内抵达城市 可获得的最大类型 剑价值; 表示在 最大前提下,类型 剑的最大价值,依此类推。即,序列 是骑士在 天内抵达 ,各类型 剑达 价值的最大字典序序列。
样例
输入
7 7 6 2
1 2 7 9
2 7 1 0
1 3 5 6
3 4 10 1
4 7 0 0
5 6 2 17
5 7 3 15
输出
10 15

最佳路径在图示中以粗线和箭头标示,按骑士通行方向绘制,粗体下划线标签表示道路上执行的剑调整。
从城市 到 的道路提供类型 剑的最大价值 。无法在 天内同时经过 到 和 到 的道路。因此,骑士选择类型 剑价值 ,通过 到 的道路。路径为 ,剩余 天未使用。
附加样例
- , , , ,每座城市与城市 相连,每条道路仅一个剑匠可将剑调整为非 价值。
- , , , ,每座城市与所有其他城市相连,剑价值随机。
- , , , ,城市 与 () 相连。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务编号 | 附加限制 | 分值 |
|---|---|---|
| 1 | 10 | |
| 2 | 15 | |
| 3 | , | |
| 4 | , | 20 |
| 5 | 15 | |
| 6 | 无附加限制 | 25 |