Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#12749. 树

Statistics

题目描述

请编写一个程序,输出给定有根树T中各结点u的信息,信息内容如下:
u的结点编号
u的结点种类(根、内部结点、叶)
u的父结点编号
u的子结点列表
u的深度
这里我们设给定树拥有n个结点,编号分别为0至n-1。

输入格式

第1行输入结点的个数n。
接下来n行按照下述格式输入各结点的信息,每个结点占一行。
id k c1 c2 … ck
id为结点的编号,k为度。c1 c2 … ck为第1个子结点到第k个子结点的编号。

输出格式

请按下述格式输出结点的信息。结点信息按编号升序排列。
node id: parent=p,depth=d,type,[c1 c2 … ck]
p代表父结点的编号,不存在父结点时输出-1。
d表示结点的深度。
type表示结点的类型,从root(根)、 internal node(内部结点)、leaf(叶)三个字符串中选择其一。
c1 c2 … ck是子结点列表。这里我们将给定树视为有序树,请按照输入的顺序输出。相邻信息用逗号和空格隔开。请务必注意输出示例中的格式。

数据范围

1≤n≤100
结点的深度不超过20

样例数据

input

13        
0 3 1 4 10    
1 2 2 3        
2 0        
3 0        
4 3 5 6 7    
5 0        
6 0        
7 2 8 9        
8 0        
9 0        
10 2 11 12    
11 0        
12 0

output

node 0: parent=-1,depth=0,root,[1,4,10]
node 1: parent=0,depth=1,internal node,[2,3]
node 2: parent=1,depth=2,leaf,[]
node 3: parent=1,depth=2,leaf,[]
node 4: parent=0,depth=1,internal node,[5,6,7]
node 5: parent=4,depth=2,leaf,[]
node 6: parent=4,depth=2,leaf,[]
node 7: parent=4,depth=2,internal node,[8,9]
node 8: parent=7,depth=3,leaf,[]
node 9: parent=7,depth=3,leaf,[]
node 10: parent=0,depth=1,internal node,[11,12]
node 11: parent=10,depth=2,leaf,[]
node 12: parent=10,depth=2,leaf,[]