#CF1406C. C. 链接 - 切割重心

C. 链接 - 切割重心

每次测试时间限制:11 秒 内存限制:512512 兆字节

题目描述

钓鱼王子喜欢树,他尤其喜欢只有一个重心的树。树是一个没有环的连通图。

一个顶点是树的重心,当且仅当切掉这个顶点(移除该顶点及其所有关联的边)后,剩余图中最大连通分量的大小尽可能小。

例如,下面这棵树的重心是 22,因为切掉它后,剩余图的最大连通分量大小为 22,且无法更小。

然而,在某些树中,可能存在多个重心,例如:

顶点 11 和顶点 22 都是重心,因为分别切掉它们后,最大连通分量的大小都是 33

现在钓鱼王子有一棵树。他需要先切掉树的一条边(即移除这条边),然后再添加一条边。经过这两次操作后,得到的图必须仍是一棵树。他可以添加刚刚切掉的那条边。

他希望最终得到的树的重心是唯一的。请帮他找到任意一种可行的操作方式。可以证明,至少存在一种这样的操作方式。

输入格式

输入包含多个测试用例。第一行一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行一个整数 nn3n1053 \le n \le 10^5)——顶点数。

接下来 n1n-1 行,每行两个整数 x,yx, y1x,yn1 \le x, y \le n),表示存在一条连接顶点 xxyy 的边。

保证给定的图是一棵树。

所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,输出两行:

第一行两个整数 x1,y1x_1, y_11x1,y1n1 \le x_1, y_1 \le n),表示你切掉的边 (x1,y1)(x_1, y_1)。必须确保这条边在原树中存在。

第二行两个整数 x2,y2x_2, y_21x2,y2n1 \le x_2, y_2 \le n),表示你添加的边 (x2,y2)(x_2, y_2)

两次操作后得到的图必须是一棵树。

如果有多种可能的答案,输出任意一种即可。

2
5
1 2
1 3
2 4
2 5
6
1 2
1 3
1 4
2 5
2 6
1 2
1 2
1 3
2 3

数据规模与约定

可以添加切掉的那条边。

在第一个测试用例中,切掉并添加同一条边后,顶点 22 仍然是唯一的重心。

在第二个测试用例中,切掉边 (1,3)(1, 3) 并添加边 (2,3)(2, 3) 后,顶点 22 成为唯一的重心。