#CF1406C. C. 链接 - 切割重心
C. 链接 - 切割重心
每次测试时间限制: 秒 内存限制: 兆字节
题目描述
钓鱼王子喜欢树,他尤其喜欢只有一个重心的树。树是一个没有环的连通图。
一个顶点是树的重心,当且仅当切掉这个顶点(移除该顶点及其所有关联的边)后,剩余图中最大连通分量的大小尽可能小。
例如,下面这棵树的重心是 ,因为切掉它后,剩余图的最大连通分量大小为 ,且无法更小。

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

顶点 和顶点 都是重心,因为分别切掉它们后,最大连通分量的大小都是 。
现在钓鱼王子有一棵树。他需要先切掉树的一条边(即移除这条边),然后再添加一条边。经过这两次操作后,得到的图必须仍是一棵树。他可以添加刚刚切掉的那条边。
他希望最终得到的树的重心是唯一的。请帮他找到任意一种可行的操作方式。可以证明,至少存在一种这样的操作方式。
输入格式
输入包含多个测试用例。第一行一个整数 ()——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行一个整数 ()——顶点数。
接下来 行,每行两个整数 (),表示存在一条连接顶点 和 的边。
保证给定的图是一棵树。
所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出两行:
第一行两个整数 (),表示你切掉的边 。必须确保这条边在原树中存在。
第二行两个整数 (),表示你添加的边 。
两次操作后得到的图必须是一棵树。
如果有多种可能的答案,输出任意一种即可。
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
数据规模与约定
可以添加切掉的那条边。
在第一个测试用例中,切掉并添加同一条边后,顶点 仍然是唯一的重心。
在第二个测试用例中,切掉边 并添加边 后,顶点 成为唯一的重心。