您的位置:首页 > 其它

HDU 5881 Tea(规律)

2017-08-17 20:57 253 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5881

题意:Alice有一罐体积大于等于L,小于等于R的茶,要倒进两个容器里面

要求两个容器的茶相差不超过1,还要求罐子里面剩余的茶不超过1

思路:规律(先考虑L再考虑R)

R = 0,1时,不需要倒

R = 2时,只要一个容器倒1单位就行了

L = 0,R > 2时,可以得出(R+1)/2

其他,先倒(L+1)/2和(L+1)/2+1,然后每次向多的里面倒2,max(2,(R-L)/2+1)

代码:

#include<bits/stdc++.h>
using namespace std;

int main()
{
long long L,R;
while(~scanf("%lld%lld",&L,&R))
{
if(R <= 1)
printf("0\n");
else if(R == 2)
printf("1\n");
else if(L == 0)
printf("%lld\n",(R+1)/2);
else
printf("%lld\n",max(2ll,(R-L)/2+1));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: