SZ#G6MT11. 【GESP强化 六级】多叉树档案

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB

题目描述

刘老师收到一份按孩子列表保存的多叉树档案。这棵有根树共有 nn 个节点,节点编号为 00n1n-1。输入会给出每个节点的编号以及它的有序孩子列表,但这些输入行本身不一定按照节点编号排列。

请根据全部孩子列表,确定每个节点的父节点、深度和类型。根节点的父节点为 1-1,深度为 00;没有孩子的节点类型为 leaf;有孩子但不是根的节点类型为 internal node;根节点的类型为 root

最后按节点编号从小到大,输出每个节点的完整信息和它原有的有序孩子列表。

输入格式

第一行输入一个整数 nn,表示节点数量。

接下来 nn 行,每行首先输入两个整数 ididkk,分别表示当前节点编号以及它的孩子数量;随后输入 kk 个整数 c1,c2,,ckc_1,c_2,\ldots,c_k,表示这些孩子的编号和排列顺序。

输出格式

按照节点编号从小到大输出 nn 行。节点 ii 的输出格式为:

nodei:parent=p,depth=d,type,[c1,c2,...]node i: parent = p, depth = d, type, [c1, c2, ...]

其中 pp 是父节点编号,dd 是深度,type 按题意替换为 rootinternal nodeleaf,方括号内按输入顺序列出所有孩子。

1
0 0
node 0: parent = -1, depth = 0, root, []
2
1 0
0 1 1
node 0: parent = -1, depth = 0, root, [1]
node 1: parent = 0, depth = 1, leaf, []
3
1 0
0 2 1 2
2 0
node 0: parent = -1, depth = 0, root, [1, 2]
node 1: parent = 0, depth = 1, leaf, []
node 2: parent = 0, depth = 1, leaf, []

数据范围与约定

  • 1n1051\le n\le10^5
  • 输入恰好描述一棵合法有根树