爱奇艺 拼凑正方形 数学
题目描述
牛牛有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;
}