#S6U09P03. 【例题】建立孩子兄弟表

【例题】建立孩子兄弟表

建立孩子兄弟表

难度:T2

【知识点:孩子兄弟表示】【知识点:一维数组】

前置知识:树的父子与兄弟关系、数组、循环、首孩子和下一兄弟。

题目描述

资料库给出一棵根为 11 的树,节点编号为 11 到 nn。每个节点的直接孩子名单已有指定顺序。请建立两个数组:fc[u] 保存第一个孩子,ns[u] 保存下一个兄弟。无相应连接时填 00。孩子顺序必须与输入一致。

输入格式

第一行整数 nn。随后 nn 行,第 uu 行先给孩子数 dd,再给 dd 个按指定顺序排列的孩子编号。没有孩子的行仅含 00。保证所有名单构成根为 11 的合法树。

输出格式

按节点 11 到 nn 输出 nn 行,每行先输出 fc[u] 再输出 ns[u],用一个空格隔开。

数据范围

1≤n≤10001\le n\le1000,节点编号在 11 到 nn 内,连接编号在 00 到 nn 内。

样例输入

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

样例输出

2 0
5 3
0 4
7 0
0 6
0 0
0 0

样例解释

首孩子写在父节点行,下一兄弟写在前一孩子行。