题号:NC266909
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
——
氧气少年有一棵包含

个节点的树,树根为

号节点,氧气少年可以进行下面的操作最多一次:
-
选择树上的任意一个节点(
号节点除外),将以此节点为根的子树从原位置取走,再将它挂到树上其它任意一个节点的下方。
请求出在这以后,树的可能的最小直径。
树的直径是指树中任意两个节点之间最长路径的长度。
输入描述:
第一行包含一个整数
,表示测试用例的组数。
对于每组测试用例:
第一行包含一个整数
,表示树的节点数量。
接下来
行,每行包含两个整数
,表示树上存在一条从
到
的边。保证给出的边能够形成一棵树。
保证对于所有的测试用例,
的总和不超过
。
输出描述:
对于每组测试用例:
仅输出一行,包含一个整数,表示答案。