logo AlgoBeat OnlineJudge
登录 注册

#214531. [JOISC 2015] 遗产继承 / Inheritance

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

IOI 国所有铁路的拥有者、大富豪 JOI 先生已经去世。根据遗嘱,铁路将被分割并继承。

IOI 国有 个城市,以及连接这些城市的 条铁路。城市编号为 1 到 ,铁路编号为 1 到 。第 条铁路连接城市 和城市 ,为双向线路,每年可产生 日元的收益。由于乘客数量和票价各异, 各不相同。可能存在多条铁路连接同一对城市。

遗嘱中规定了铁路分割继承的方法如下:

  • 铁路将由 JOI 先生的 个子女继承。子女按年龄从高到低依次编号为 1 到
  • 每个子女继承若干条铁路(可能为 0 条)。
  • 首先,从 条铁路中,子女 1 选择若干条作为自己的继承部分;接着,从剩余铁路中,子女 2 决定自己的继承部分;依此类推, 个子女依次决定继承部分。
  • 任何子女都不能继承已被更年长子女继承的铁路。即,若铁路 已被子女 继承,则任何更年轻的子女 )均不能继承该铁路。
  • 任何子女在选择继承部分时,必须确保所选铁路不构成环路。即,若存在一条由铁路 (其中 互不相同)组成的路径,使得从某个城市出发,经过这些铁路后能返回原城市,则任何子女均不能独自继承所有这些铁路。
  • 未被任何子女继承的铁路将捐赠给 IOI 国。

每个子女都像其父亲一样贪婪,希望自己的继承部分的年收益总和尽可能大。已证明,对于每个子女,存在唯一一种选择方式,使其继承部分的年收益总和达到最大值。请确定每条铁路由谁继承。

题目

给定 IOI 国铁路的信息和 JOI 先生子女的人数,编写程序求出每条铁路由谁继承。

输入格式

从标准输入读取以下内容:

  • 第一行包含三个整数 ,以空格分隔。这表示 IOI 国有 个城市和 条铁路,JOI 先生有 个子女。
  • 接下来的 行中,第 行()包含三个整数 ,以空格分隔。这表示第 条铁路连接城市 和城市 (双向),年收益为 日元。

输出格式

输出共 行。第 行()输出继承第 条铁路的子女编号。若该铁路被捐赠给 IOI 国,则输出 0。

样例

样例输入 1

3 5 2
1 2 3
1 2 1
2 3 4
2 3 6
1 3 2

样例输出 1

1
0
2
1
2

样例输入 2

3 6 5
1 2 1
1 2 2
2 3 3
2 3 4
3 1 5
3 1 6

样例输出 2

4
3
2
1
2
1

数据范围与提示

样例 1 解释

  • 子女 1 从铁路 1, 2, 3, 4, 5 中选择铁路 1 和 4 进行继承。此时继承铁路的年收益总和为 日元,这是最大值。
  • 子女 2 从剩余铁路 2, 3, 5 中选择铁路 3 和 5 进行继承。此时继承铁路的年收益总和为 日元,这是最大值。
  • 剩余铁路 2 将捐赠给 IOI 国。

样例 2 解释

继承铁路的数量可能因子女而异。可能存在完全没有继承任何铁路的子女。

数据范围

所有输入数据满足以下条件:

  • ,

子任务

子任务 1 [15 分]

子任务 2 [85 分]

无额外限制。

翻译由 Qwen3-235B 完成