hdu_5881_Tea(xjb猜)

题目链接:hdu_5881_Tea

题意:

有一壶水, 体积在 L 和 R 之间, 有两个杯子, 你要把水倒到两个杯子里面, 使得杯子水体积几乎相同(体积的差值小于等于1), 并且使得壶里剩下水体积不大于1. 你无法测量壶里剩下水的体积, 问最小需要倒水的次数。

题解:

我是xjb猜的,下面附上ICPCcamp的题解

考虑倒水的大致过程,L = 0 和 L = 1 的情况应该是等价的,所以不妨设 L >0。首先向一个杯子倒 L/2升水,再往另一个杯子倒 L/2+1升水。接下来就来回往两个杯子里倒 2 升,直到倒空为止。这样就很容易分析出需要倒水的次数。唯一注意的是最后壶里面可以剩下 1 升水,可以省一次倒水的操作。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4
 5 int main(){
 6     ll l,r;
 7     while(~scanf("%lld%lld",&l,&r))
 8     {
 9         if(r<=1)puts("0");
10         else if(r<=2)printf("1\n");
11         else printf("%lld\n", max((r-max(l,1LL))/2+1,2ll));
12     }
13     return 0;
14 }

时间: 2024-08-10 00:04:29

hdu_5881_Tea(xjb猜)的相关文章

3年前中央的重大动作 今年有了新变化

大风骤起站在最前面的我冷笑着看着敌人的冲阵剑锋向前一指喝道给我杀地面开始震颤起来许多小小的碎石仿佛不受到重力控制一样的飞了起来甚至我也感觉到身体很轻仿佛就要被吸飞起来而那条灰色的巨龙则已经横行于高空之中猛然肆虐而来 但是凌雪可不能就这样白白挂掉而且我也宁愿用自己的一次挂掉来印证一下这是否真的就无法以操作来虐掉而且这里也只有我才有机会弄死这个了秦韵虽然身在上面但是她一个小牧师没有什么攻击力要杀的话难道用惩戒那估计得打到驴年马月去了对方的玩家所剩无几也就那几个高手了小蝴蝶这个星月祭祀已经被淡淡稻花香

20170913自制猜数字游戏

/* 猜数字:系统随机生成一个四位数,请根据下列判断猜出来 A:数值正确,位置正确 B:数值正确,位置不正确 C:数值不正确 */ #include<stdio.h> #include<time.h> #include<stdlib.h> #pragma warning (disable:4996) #define pUCharHead unsigned char * //以数组形式返回n个无重复的随机数,范围可指定[min,max] pUCharHead GenNoR

JavaScript一个猜数字游戏

效果图: 代码: <body> <script type="text/javascript"> window.onload = newgame; //页面载入的时候就开始一个新的游戏 window.onpopstate = popState; //处理历史记录相关事件 var state,ui; //全局变量,在newgame()方法中会对其初始化 function newgame( playagin ){ //开始一个新的猜数字游戏 //初始化一个包含需要的文

函数调用_猜数字和简易计算器

package app1; import java.util.*; public class TestFunction{     public static void main(String[] args){         Scanner sc=new Scanner(System.in);         System.out.print("请选择一项应用:\n1.猜数字\n2.简易计算器");         int n=sc.nextInt();         switch(

简单猜数游戏2

/*简单猜数游戏,magic number#2,版本*/#include<stdio.h>#include<stdlib.h> int main(void){ int magic; /*magic number*/ int guess; /*user's guess*/ printf("\nWelcome to the magic number game\n"); magic=rand(); /*产生随机数*/ printf("\nGuess the

简单猜数游戏1

/*简单猜数游戏,magic number#1,版本*/#include<stdio.h>#include<stdlib.h> int main(void){ int magic; /*magic number*/ int guess; /*user's guess*/ printf("\nWelcome to the magic number game\n"); magic=rand(); /*产生随机数*/ printf("\nGuess the

FTP弱口令猜解【python脚本】

ftp弱口令猜解 python脚本: #! /usr/bin/env python # _*_ coding:utf-8 _*_ import ftplib,time username_list=['root','ftp','admin'] password_list=['root','123','ftp','oracle'] def ftp(ip,port=21): for username in username_list: user =username.rstrip() for passw

day05-java-(方法,猜字符小游戏)

day05-java-(方法,猜字符小游戏) 1.方法:  1)用于封装一段特定的逻辑功能  2)方法应尽可能的独立,只干一件事  3)方法可以被反复的调用多次  4)避免代码重复,有利于代码的维护,有利于团队的协作开发 2.方法的定义:    修饰词 返回值类型 方法名(参数列表){      方法体    } 3.方法的调用:  1)无返回值: 方法名(有参传参);   2)有返回值: 数据类型 变量 = 方法名(有参传参);              方法名(有参传参);------不建议

猜价格

#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,price,i,b; srand(time(NULL)); price=rand()%100+1; while(1) { printf("请在1~100之间猜测一个价钱,以下您有10次机会.请加油!:\n"); for(i=1;i<=10;i++) { scanf("%d",&am