#B278. XOR and Tree Construction
XOR and Tree Construction
题目描述
Bob 有一棵 个点的无根树 ,树上每个点都有权值,第 个点的权值为 。Alice 记录了一个 的矩阵 ,其中 表示树上 最短路径上所有点的点权的异或和。
Alice 观察这个矩阵,惊奇地发现矩阵里所有数都是正整数。
不幸的是,某一天,Bob 把他的树搞丢了。于是你得到了 Alice 记录的矩阵,并需要还原出一种可能的树 与序列 。值得注意的是,Alice 非常靠谱,因此你总是可以还原出至少一种树。
输入格式
本题有多组测试数据,第一行输入一个正整数 ,代表数据组数。
对于每组数据:
- 第一行输入一个正整数 。
- 接下来 行,每行 个正整数,其中第 行第 个数表示 。
输出格式
对于每组数据:
- 第一行输出 个数,分别代表每个点的点权 。
- 接下来 行,每行输出两个数 ,代表有一条连接 的边。
2
3
1 3 7
3 2 6
7 6 4
5
8 9 10 15 1
9 1 2 14 9
10 2 3 13 10
15 14 13 7 6
1 9 10 6 8
1 2 4
1 2
2 3
8 1 3 7 8
1 2
1 4
2 3
2 5
1
2
10000000000 29999508480
29999508480 20000000000
10000000000 20000000000
1 2
说明/提示
对于所有数据,保证: