有一棵 n(1\leq n \leq 1000) 个节点,n-1 条边,根为 1 号节点的有根树,被出题人藏起来了,你需要找到它。
这棵树上的每条边有一个编号,编号为 1 到 n-1,每个点有一个编号,编号为 1 到 n。
设第 i 条边断开后,与根结点(1 号节点)仍然相连的点构成集合 S_i, 与根结点不相连的点构成集合 T_i。
出题人偷偷告诉了你所有的 S_i 和 T_i(1\leq i \leq n-1)。
你需要还原这一棵树,也就是,输出除根结点之外每个点的父亲节点,以及它与父亲节点的边的编号。
输入
第一行一个整数 n(1\leq n \leq 1000)。
接下来 2n 行,每行第一个数 m(1\leq m \leq n) 表示集合大小,后面 m 个数表示集合的元素。
每行代表的集合依次为 S_1, T_1, S_2, T_2, \dots, S_n, T_n。
输出
输出 n-1 行, 每行两个整数。
第 i 行的输出为 i+1 号节点的父亲节点,以及 i+1 号节点和父亲节点之间的边的编号。
样例
标准输入 复制文本 |
5 4 1 3 4 5 1 2 3 1 2 5 2 3 4 4 1 2 4 5 1 3 2 1 2 3 3 4 5 |
标准输出 复制文本 |
1 1 4 3 5 2 1 4 |
来源
2024 华南师范大学百度杯新生赛 正式赛 Div.1 老生赛道