码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5881

时间:2020-02-03 00:04:10      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:pre   情况   一个人   lld   problem   ++   ble   操作   space   

题目传送门

#include<bits/stdc++.h>
using namespace std;
long long l,r;
int main()
{
    while(~scanf("%lld%lld",&l,&r))
    {
        if(l<=1) l=1;//l=0和l=1情况相同,所以直接设为 1
        if(r<=1) puts("0");//r 小于等于 1 茶壶里剩下的水量不超过 1,不用倒,0次。
        else if(r<=2) puts("1");//r 小于等于 2,给其中一个人倒 1 
        else if(l==r || l==r-1) puts("2");//如果 l 和 r 相等或小 1,那么一人倒 l/2 的茶水 
        else printf("%lld\n",((r-l)>>1)+1);//如果上面的情况都不是,那么就用公式
        //第一次倒给第一个杯子 l/2,第二次倒给第二个杯子 l/2+1,接着每次给两个杯子倒 2,重复进行此操作直到茶壶里的水小于等于 1
        //公式:((r-l)>>1)+1 
    }
    return 0;
}

hdu 5881

标签:pre   情况   一个人   lld   problem   ++   ble   操作   space   

原文地址:https://www.cnblogs.com/ForeverOIer/p/12254091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!