zoukankan      html  css  js  c++  java
  • Codeforces Round #605 (Div. 3) A. Three Friends(贪心)

    链接:

    https://codeforces.com/contest/1272/problem/A

    题意:

    outputstandard output
    Three friends are going to meet each other. Initially, the first friend stays at the position x=a, the second friend stays at the position x=b and the third friend stays at the position x=c on the coordinate axis Ox.

    In one minute each friend independently from other friends can change the position x by 1 to the left or by 1 to the right (i.e. set x:=x−1 or x:=x+1) or even don't change it.

    Let's introduce the total pairwise distance — the sum of distances between each pair of friends. Let a′, b′ and c′ be the final positions of the first, the second and the third friend, correspondingly. Then the total pairwise distance is |a′−b′|+|a′−c′|+|b′−c′|, where |x| is the absolute value of x.

    Friends are interested in the minimum total pairwise distance they can reach if they will move optimally. Each friend will move no more than once. So, more formally, they want to know the minimum total pairwise distance they can reach after one minute.

    You have to answer q independent test cases.

    思路:

    中间的值影响不大,手动判断条件。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
     
    int main()
    {
        int t;
        cin >> t;
        while(t--)
        {
            int a[4];
            for (int i = 1;i <= 3;i++)
                cin >> a[i];
            sort(a+1, a+4);
            if (a[1] == a[2])
            {
                if (a[3] > a[2])
                    a[3]--;
                if (a[1] < a[3])
                    a[1]++, a[2]++;
            }
            else if (a[2] == a[3])
            {
                if (a[1] < a[2])
                    a[1]++;
                if (a[2] > a[1])
                    a[2]--, a[3]--;
            }
            else
            {
                a[1]++;
                a[3]--;
            }
            int ans = a[2]-a[1]+a[3]-a[1]+a[3]-a[2];
            cout << ans << endl;
        }
     
        return 0;
    }
    
  • 相关阅读:
    第28月第23天 lineFragmentPadding
    第28月第22天 iOS动态库
    第28月第21天 记事本Unicode 游戏编程中的人工智能技术
    第28月第11天 vim -b
    第28月第10天 iOS动态库
    第28月第8天
    第28月第7天 本地摄像头方向
    第28月第5天 uibutton交换方法
    第28月第4天 __bridge_transfer
    python __getattr__ __setattr__
  • 原文地址:https://www.cnblogs.com/YDDDD/p/12046656.html
Copyright © 2011-2022 走看看