A. Riptide

time limit per test

1 second

memory limit per test

256 megabytes

Alice, Bob, and Charlie are playing a game with tokens. They start with a, b, and c tokens, respectively.

The game is played in rounds. Before the beginning of each round, they check the number of tokens everyone has:

  • If any two players have the exact same number of tokens, the game immediately ends.
  • Otherwise, the round begins, all three players have a strictly different number of tokens. The player with the strictly most tokens gives exactly 1 token to the player with the strictly fewest tokens.

Given the starting tokens a, b, and c, determine exactly how many rounds the game will last before it ends.

Input

The first line contains a single integer t (1≤t≤103) --- the number of test cases.

Each test case consists of a single line containing three integers a, b, and c (1≤a,b,c≤10).

Output

For each test case, output a single integer --- the number of rounds the game will last before it ends.

Example

Input

Copy

复制代码

6

1 2 3

4 6 1

3 3 7

1 7 10

6 1 9

1 1 1

Output

Copy

复制代码

1

2

0

3

3

0

Note

In the first test case:

  • No two players have the same number of tokens.
  • Charlie has the most tokens (3 tokens), and Alice has the fewest tokens (1 token). Therefore, Charlie gives Alice a token.
  • Now, Alice has 2 tokens, Bob has 2 tokens, and Charlie has 2 tokens. Since there are two players (or more) with the same number of tokens, the game ends.

The game ended after 1 round, so the answer is 1.

In the second test case, the game is played as follows:

  • Bob gives Charlie a token, now Alice has 4 tokens, Bob has 5 tokens, and Charlie has 2 tokens.
  • Bob gives Charlie a token, now Alice has 4 tokens, Bob has 4 tokens, and Charlie has 3 tokens. Since two players have the same number of tokens, the game ends.

The game lasted 2 rounds.

In the third test case, two players already have the same number of tokens. So the answer is 0 since no rounds were played.

解题说明:水题,找到差值最小的两个数即可。

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) 
    {
        int a, b, c, count = 0;
        scanf("%d%d%d", &a, &b, &c);
        count = abs(a - b);
        if (count > abs(b - c)) 
        {
            count = abs(b - c);
        }
        if (count > abs(c - a))
        {
            count = abs(c - a);
        }
        printf("%d\n", count);
    }
    return 0;
}
相关推荐
Navigator_Z1 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
D e re k ZH2 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶2 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊3 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
LabVIEW开发4 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
严肃小白兔6 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
青少儿编程课堂7 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
jktantan8 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
Dream it possible!21 小时前
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)
算法·leetcode·面试·动态规划