zoukankan      html  css  js  c++  java
  • hdu 5881 Tea

    题目传送门
    解题思路:此题为推公式题,需要把所有的几种情况全部推出来,然后利用分支结构将每种情况分类,最后进行输出。
    公式推法:第一次倒给第一个杯子 (l/2),第二次倒给第二个杯子 (l/2+1),接着每次给两个杯子倒 2,重复进行此操作直到茶壶里的水小于等于 1
    公式:(((r-l)>>1)+1)

    #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
    ",((r-l)>>1)+1);//如果上面的情况都不是,那么就用公式
    	}
    	return 0;
    }
    
  • 相关阅读:
    Python阶段复习
    Python阶段复习
    Python学习笔记
    Python爬虫学习
    Python爬虫学习
    Python学习笔记
    史上最全的Maven Pom文件标签详解
    css3 animation动画技巧
    常用的sass编译库
    compass做雪碧图
  • 原文地址:https://www.cnblogs.com/ForeverOIer/p/12254091.html
Copyright © 2011-2022 走看看