#CF1950F. 0,1,2,树!
0,1,2,树!
0,1,2,树!
时间限制:2s
空间限制:256MB
题目描述
求满足下列条件的有根树的最小高度:
- 恰有 个节点各有 个子节点;
- 恰有 个节点各有 个子节点;
- 恰有 个节点没有子节点。
树共有 个节点。如果不存在满足条件的树,输出 。
有根树是指定了一个根节点的连通无环图。树中相邻的两个节点里,离根较近的是父节点,另一个是它的子节点。两个节点的距离是连接它们的路径所含的边数;树的高度是所有节点到根的距离的最大值。因此,只有一个节点的树高度为 。

图中的根位于最上方,每个节点内的数字表示它的子节点数量。该树满足 、、,高度为 。
输入格式
第一行包含一个整数 ,表示测试数据的组数。
每组测试数据只有一行,包含三个整数 。
输出格式
对于每组测试数据,如果不存在满足条件的树,输出 ;否则输出树的最小高度。
样例输入 1
10
2 1 3
0 0 1
0 1 1
1 0 2
1 1 3
3 1 4
8 17 9
24 36 48
1 0 0
0 3 1
样例输出 1
2
0
1
1
-1
3
6
-1
-1
3
样例解释
第一组的最优树如图所示,高度为 。
第二组可以构成单个节点,高度为 。第三组可以构成由一条边连接的两个节点,高度为 。
数据范围
- 对于所有数据,满足 。
- 对于所有数据,满足 。
- 对于所有数据,满足 。
- 所有测试组共同满足 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 15 | ,且一个输入文件内 |
| 2 | 25 | ,且一个输入文件内 |
| 3 | 30 | |
| 4 | 无特殊限制 |