#1155. 代币游戏
代币游戏
题目描述
Alice、Bob 和 Charlie 三人正在玩一个代币游戏。他们初始时分别拥有 个代币。
游戏按轮次进行。在每轮开始前,他们会检查每个人拥有的代币数量:
- 如果有任意两名玩家拥有的代币数量完全相同,游戏立即结束。
- 否则,新的一轮开始。此时三名玩家的代币数量必定互不相同,拥有代币数量最多的玩家将给拥有代币数量最少的玩家恰好 个代币。
给定初始的代币数量 ,请计算游戏在结束前会进行多少轮。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
对于每个测试用例,仅包含一行,有三个整数 和 ()—— 分别表示三人的初始代币数量。
输出格式
对于每个测试用例,输出一行一个整数,表示游戏结束前进行的轮数。
样例输入 1
6
1 2 3
4 6 1
3 3 7
1 7 10
6 1 9
1 1 1
样例输出 1
1
2
0
3
3
0
说明
样例解释
- 在第一个测试用例中: 初始时没有任何两名玩家的代币数量相同。 Charlie 的代币最多( 个),Alice 的代币最少( 个)。因此,Charlie 给 Alice 一个代币。 现在,Alice 有 个代币,Bob 有 个代币,Charlie 有 个代币。由于有两名(或更多)玩家的代币数量相同,游戏结束。 游戏进行了 轮,因此答案为 。
- 在第二个测试用例中,游戏过程如下: Bob 给 Charlie 一个代币,现在 Alice 有 个,Bob 有 个,Charlie 有 个。 Bob 再给 Charlie 一个代币,现在 Alice 有 个,Bob 有 个,Charlie 有 个。此时有两名玩家代币数量相同,游戏结束。 游戏进行了 轮。
- 在第三个测试用例中,初始时已经有两名玩家的代币数量相同( 个)。因此没有进行任何轮次游戏直接结束,答案为 。
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 。
- 保证所有的输入数值均为整数。