题目大意:
给出三边a,b,c每次可以选择任意一条边将其长度增加1,问最少增加多少次可以使这三边构成三角形
题解:
本题和今年百度之星初赛A轮的度度熊拼三角有些相似(HDU6374),只不过那个题是舍弃最大的,而本题是增加最小的。目的都是让三边的长度尽量相近,才能有可能构成三角形。
#include<bits/stdc++.h>
#include<cstring>
using namespace std;
typedef long long ll;
int a[5];
bool pd()
{
if(a[1]+a[2]>a[3])return 1;
return 0;
}
int main()
{
int n=3;
cin>>a[1]>>a[2]>>a[3];
sort(a+1,a+n+1);
int ans=0;
while(pd()==0)
{
++a[1];
++ans;
sort(a+1,a+1+n);
}
cout<<ans<<endl;
return 0;
}