HDU5881 Tea(简单题)

Posted 恶devil魔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU5881 Tea(简单题)相关的知识,希望对你有一定的参考价值。

题意:

你有一个容量为【l,r】的壶,你要往两个杯子里倒水

水壶你只能判断是否为空

使得最后杯中水相差<=1升,壶中剩余的水<=1升

思路:

这个题简直太遗憾了

当天网络赛的时候我感冒了很难受状态几乎为0

然后学弟最后40分钟左右的时候把这个题跟我说了一下,我当时就想出来正确的思路

提交完后发现杭电已经挂了,然后我就没管了(难受的要回宿舍了)

结果晚上发现结果wa了,看了camp的题解的题意说明。。

非常的无语。。学弟读题理解错了,他认为壶里还剩不到1升水就会报警让你知道

所以我由这个错误的题意推出了除4。。

最近感冒好点补这几次比赛的时候改成除2的思路就AC了

怎么说呢,比较遗憾吧,毕竟弱校,如果出了这题就能晋级了,唉

/* ***********************************************
Author        :devil
************************************************ */
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
#define inf 0x3f3f3f3f
#define LL long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define ou(a) printf("%d\n",a)
#define pb push_back
#define mkp make_pair
template<class T>inline void rd(T &x){char c=getchar();x=0;while(!isdigit(c))c=getchar();while(isdigit(c)){x=x*10+c-0;c=getchar();}}
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);
using namespace std;
const int mod=1e9+7;
const int N=1e6+10;
int main()
{
    LL l,r;
    while(~scanf("%lld%lld",&l,&r))
    {
        if(r<=1)
        {
            printf("0\n");
            continue;
        }
        if(r<=2)
        {
            printf("1\n");
            continue;
        }
        if(l==0)
        {
            printf("%lld\n",(r+1)/2);
            continue;
        }
        if(r-l<=3)
        {
            printf("2\n");
            continue;
        }
        r=r-l-3;
        LL ans=2;
        ans=ans+r/2;
        if(r%2) ans++;
        printf("%lld\n",ans);
    }
    return 0;
}

 

以上是关于HDU5881 Tea(简单题)的主要内容,如果未能解决你的问题,请参考以下文章

HDU5881 Tea(找规律)

HDU 5881 Tea (模拟)

HDU 5881 Tea -2016 ICPC 青岛赛区网络赛

[HDOJ5881] Tea(找规律)

2016 年青岛网络赛---Tea

hdu 5881