问题 6541 --龙哥构造树

6541: 龙哥构造树★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 5  解决: 3
[提交][状态][命题人:]

题目描述

给定a个度(即儿子数)为2的结点、b个度为1的结点和c个度为0的结点。龙哥准备用这些结点构造最小高度的树,如果没有这样的树,则输出-1。
如a=2,b=1,c=3则可以构造下图所示的树,其高度为2。

注:树中两个顶点之间的距离是它们之间最短路径中的边数。有根树的高度是从顶点到根部的最大距离。

输入

第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试数据的第一行包含3个正整数a、b和c (0≤a,b,c≤1e5; 1≤a+b+c).
测试数据保证所有的a+b+c之和不超过3e5。

输出

对于每组测试数据,输出构造树的最小高度。如果不能构成树,则输出-1。
样例输入
Copy
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
样例输出
Copy
2
0
1
1
-1
3
6
-1
-1
3

提示

来源

 

[提交][状态]