#P16100. [Oni2016]Sushi
[Oni2016]Sushi
题目描述
一家寿司餐厅中有 张桌子,桌子之间由 条双向传送带连接,任意两张桌子之间都直接或间接连通。因此,这些桌子和传送带构成一棵树。
对于每张桌子 ,给定它的邻桌数量 ,以及一个有序邻接表:
传送带按照如下唯一规则运输寿司:如果一份寿司刚从桌子 来到桌子 ,那么它接下来会从桌子 出发前往:
- ,若 ;
- ,若 。
此外,如果一份新寿司从桌子 出发,前往 ,则它第一次到达任意桌子 时,都是从 来到 。
Henry 和 Hetty 在时刻 进入餐厅。餐厅中将陆续放上 份寿司。第 份寿司由三元组 描述,表示它会在时刻 被放在桌子 处,并从桌子 出发前往它有序邻接表中的第 个邻桌 。
一份寿司经过一条传送带需要 个单位时间。如果 Henry 和 Hetty 坐在某张桌子 ,他们可以拿走所有经过桌子 的寿司。
请对每张桌子 ,求出 Henry 和 Hetty 坐在该桌时,拿到全部 份寿司所需等待到的最早时刻,即所有寿司第一次经过桌子 的时间最大值。
输入格式
第一行包含两个整数 ,分别表示桌子数量和寿司数量。
接下来 行描述每张桌子的有序邻接表。第 行格式为:
K_i V_{i,1} V_{i,2} ... V_{i,K_i}
接下来 行,每行包含三个整数 ,表示一份寿司在时刻 放在桌子 ,并从 出发前往 。
输出格式
输出一行 个整数,第 个整数表示坐在桌子 时拿到所有寿司所需等待到的最早时刻。
数据范围
- ;
- ;
- 对每个三元组 ,满足 ,,。
样例 1
输入
5 1
3 2 3 4
1 1
2 1 5
1 1
1 3
3 1 0
输出
1 4 0 2 7
解释
唯一一份寿司在时刻 从桌子 出发,前往桌子 邻接表中的第 张桌子,即桌子 。
它的路线为:
3, 1, 4, 1, 2, 1, 3, 5, 3, ...
所以它第一次经过桌子 的时间分别为 。
样例 2
输入
3 2
2 2 3
1 1
1 1
2 1 0
3 1 1
输出
2 3 2