前言
题解
因为贪心WA了一发,所以考虑分类讨论
- 如果本来都是相邻的 那么肯定 不管最长还是最短都是 0
- 考虑最短 :
- 如果两头牛相差 1 1 1,显然我们一步就可以插到中间
- 否则需要两步
- 考虑最长 :
- 显然两头奶牛相邻差的最大值 − 1 -1 −1就是
Mycode
void solve()
{
cin>>a[1]>>a[2]>>a[3];
sort(a+1,a+4);
if(a[2] - a[1] == a[3] - a[2] && a[2] - a[1] == 1){
cout<<0<<endl;
cout<<0<<endl;
return;
}
if(a[2] - a[1] == 2 || a[3] - a[2] == 2){
cout<<1<<endl;
}else cout<<2<<endl;
cout<<max((a[2]-a[1]),(a[3] - a[2])) - 1<<endl;
}