园艺师

时间限制: 1000 ms 内存限制: 131072 kb
总通过人数: 0 总提交人数: 0

题目描述

Cabinfever 作为一个忠实的绿神粉丝,绿神赐予了他树人王的称号。成为树人王的第一项工作是管理一批树苗。这些小树苗长得不太整齐,作为一个强迫症,Cabinfever 想对这些小树苗进行修剪,让他们的高度一样。

对小树苗作出如下定义:每棵小树苗都是一个有根树,它的高度定义为最高的叶子节点的高度。Cabinfever 可以剪断树枝,这样一棵小树苗就会变为两棵小树苗,如下图。

由于 Cabinfever 很懒,他想知道最少剪几次就可以使得所有小树苗高度相同,并且高度是多少。

注意:若一棵小树苗节点数为 $1$,则高度为 $0$。

输入

第一行包含一个正整数 $T​$,表示有 $T​$ 组测试数据。

接下来依次给出每组测试数据。对于每组测试数据:

第一行包含一个正整数 $n$,表示最初小树苗的数量。

接下来依次给出每棵小树苗的描述。对于第 $i$ 棵小树苗:

第一行包含两个正整数 $s_i$ 和 $r_i$,分别表示第 $i$ 棵小树苗的节点数和根节点编号。

接下来 $(s_i - 1)$ 行,每行包含两个正整数 $u$ 和 $v$,表示编号为 $u$ 的节点和编号为 $v$ 的节点恰好有一根树枝相连。

保证 $1 \leq u, v \leq \sum_{i = 1}^{n}{s_i}$ 且每个节点恰好属于一棵小树苗。

保证所有数据满足 $1 \leq T \leq 12,$ $1 \leq n \leq 5000,$ $\displaystyle 1 \leq \sum_{i=1}^{n}{s_i} \leq 5000$。

保证约 $30\%$ 的数据满足 $1 \leq n \leq 5$。

输出

对于每组数据,输出一行,包含两个整数,之间用恰好一个空格隔开,表示最少修剪次数和高度。如果对于最少修剪次数存在多种可能的高度,输出最高的高度。

输入样例

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

输出样例

1 1

样例解释

第一棵小树苗的情况如题目描述中所示,只需要剪一刀就可以获得 $3$ 棵高度均为 $1$ 的小树苗。


Problem Setter: Cabinfever

Problem Tester: zlc1114

相关推荐