#467. 雾林检修的能耗记账

雾林检修的能耗记账

雾林检修的能耗记账

题目描述

晨雾中,云顶林场的检修队要逐层点亮树冠上的维护灯,统计每一层的耗电量。灯具的布置满足“上一枝干负责联络下一层枝干”的规则,因此整棵维护网络呈现出一棵有向下的结构。维修记录为每个灯具提供了编号、功率与左右分枝的去向。检修队从根灯具开始逐层外扩,所有同层灯具的能耗要放在同一天的报表里。

请根据记录,输出每一层的总功率,从内往外依次列出。

输入格式

  • 第一行一个整数 nn,表示灯具数量。
  • 第二行一个整数 rr,表示根灯具编号。
  • 接下来 nn 行,每行包含四个整数 id power left right,分别代表灯具编号、功率值、左侧分支通向的编号、右侧分支通向的编号。若某侧没有连接,则以 0 表示。
  • 输入保证 id 互不相同,并覆盖 1..n1..n 的所有编号。

输出格式

输出一行,包含若干整数,表示从根层开始每一层的功率总和,彼此以空格分隔。

输入输出样例 #1

输入 #1

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

输出 #1

6 9 5

说明/提示

  • 对于 100%100\% 的数据,1n1051 \le n \le 10^5109power109-10^9 \le \text{power} \le 10^9
  • 根灯具编号保证有效。
  • 每层的统计顺序遵循从内到外、同层左分支优先的约定。