爱奇艺 拼凑正方形 数学

题目描述

牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。

输入描述:

输入包括一行,四个整数a,b,c,d(1 ≤ a,b,c,d ≤ 10^6), 以空格分割

输出描述:

输出一个整数,表示牛牛最少需要支付的硬币

示例1

输入

4 1 5 4

输出

4
#include<iostream>
#include<algorithm>
#define min2(x,y,z,q) min(min(x,y),min(z,q))
using namespace std;
int main()
{
    int a,b,c,d,ans;
    int x,y,z,q;
    while(cin>>a>>b>>c>>d)
    {
        x=abs(a-b)+abs(a-c)+abs(a-d);
        y=abs(b-a)+abs(b-c)+abs(b-d);
        z=abs(c-a)+abs(c-b)+abs(c-d);
        q=abs(d-a)+abs(d-b)+abs(d-c);
        ans=min2(x,y,z,q);
        cout<<ans<<endl;
    }
    return 0;
}
Last modification:January 11th, 2020 at 11:54 pm
如果觉得我的文章对你有用,请随意赞赏