HDU 5881 Tea(规律)

来源:互联网 发布:linux重命名命令 编辑:程序博客网 时间:2024/06/15 20:39

题目: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;}
原创粉丝点击