解题思路:

1. 两种情况,0x1:井深度小于一次跳的高度.0x2:井深度大于一次跳的高度

2.如果 属于 0x1 则一次跳出

3.否则 本次解题中直接枚举跳的次数

一直循环,直到 【每次跳的真实高度(一次高度减去滑下的高度)】*【次数(循环)】+【最后一次(一次的高度)】大于等于井深度

 得到次数

4. 输出:次数*2+1

     次数*2:每跳一次,休息一分钟

      +1   :最后一跳,直接跳出井

Ac code:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. int n,u,d;
  5. int sum,i;
  6. while(scanf("%d%d%d",&n,&u,&d)!=EOF&&n)
  7. {
  8. if(n<=u)sum=1;
  9. else
  10. {
  11. for(i=1;; i++)
  12. if(n<=((u-d)*i+u))
  13. break;
  14. sum=2*i+1;
  15. }
  16. printf("%d\n",sum);
  17. }
  18. return 0;
  19. }

错误版本,求大神指正:

sum 可以看成求得次数。

(n-u):去掉最后一跳

(u-d):每次跳的真实高度

取得最后一跳 / 每次的高度 , 并强制转换成 double +0.5

举例:

n=10 u=2 d=1:  8 / 1 +0.5 =8 ->8*2+1=17

n=20 u=3 d=1: 17 /2 +0.5=9->9*2+1=19

错的不知所云

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. int n,u,d;
  5. int sum;
  6. while(scanf("%d%d%d",&n,&u,&d)!=EOF&&n)
  7. {
  8. sum=(int)(((double)(n-u)/(u-d))+0.5);
  9. printf("%d\n",sum*2+1 );
  10. }
  11. return 0;
  12. }

  

Taskr同学提醒: 10 9 1 该组测试数据发现问题

修正版AC代码:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. int n,u,d;
  5. int sum;
  6. while(scanf("%d%d%d",&n,&u,&d)!=EOF&&n)
  7. {
  8. sum=ceil(((double)(n-u)/(u-d))); //仅修改了本行
  9. printf("%d\n",sum*+ );
  10. }
  11. return ;
  12. }

hdu 1049 Climbing Worm的更多相关文章

  1. Climbing Worm

    Climbing Worm Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  2. 【hdoj_1049】Climbing Worm

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1049 以 上升-下降 一次为一个周期,一个周期时间为2分钟,每个周期上升距离为(u-d).先只考虑上升,再 ...

  3. HDU 4315 Climbing the Hill (阶梯博弈转尼姆博弈)

    Climbing the Hill Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Su ...

  4. hdu 4315 Climbing the Hill(阶梯博弈转nim博弈)

    Climbing the Hill Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  5. HDU 4315 Climbing the Hill(阶梯博弈)

    http://acm.hdu.edu.cn/showproblem.php?pid=4315 题意:由上至下有多个格子,最顶端的是山顶,有多个球,其中有一个球是king,每次可以将球向上移动任意个格子 ...

  6. HDU 2782 The Worm Turns (DFS)

    Winston the Worm just woke up in a fresh rectangular patch of earth. The rectangular patch is divide ...

  7. hdu 4315 Climbing the Hill && poj 1704 Georgia and Bob阶梯博弈--尼姆博弈

    参考博客 先讲一下Georgia and Bob: 题意: 给你一排球的位置(全部在x轴上操作),你要把他们都移动到0位置,每次至少走一步且不能超过他前面(下标小)的那个球,谁不能操作谁就输了 题解: ...

  8. hdu 4315 Climbing the Hill 博弈论

    题意:有n个人爬山,山顶坐标为0,其他人按升序给出,不同的坐标只能容纳一个人(山顶不限),Alice和Bob轮流选择一个人让他移动任意步,但不能越过前面的人,且不能和前面一个人在相同的位置.现在有一个 ...

  9. HDU 4315 Climbing the Hill [阶梯Nim]

    传送门 题意: 和上题基本一样:山顶可以有多人,谁先把king放到山顶谁就胜 并不太明白 #include <iostream> #include <cstdio> #incl ...

随机推荐

  1. heartbeat初探

    1,概念及原理 http://www.mingxiao.info/tag/heartbeat/

  2. 在PLSQL中编译复杂的java(转)

    原文地址:在PLSQL中编译复杂的java PLSQL中可以编译运行JAVA程序. 一个简单的例子: create or replace and compile java source named x ...

  3. ListView缓存机制踩过的坑

    ListView,GrildView使用时候经常会用到缓存机制,随意一搜,例子成千上万,但是讲解都是很一致,跟自己踩的坑很少有人讲解到. 测试 需求: GrildView 分三列显示,默认背景为白色, ...

  4. UIButton利用分类扩展方法(封装)

    UIButton+BackgroundColor.h #import <UIKit/UIKit.h> @interface UIButton (BackgroundColor) - (vo ...

  5. ios——MPMoviePlayerController截取视频缩略图 播放视频又可以截取视频缩略图

    #import <AVKit/AVKit.h>#import <MediaPlayer/MediaPlayer.h>#import "ViewController.h ...

  6. 2.SQLAlchemy文档-SQLAlchemy ORM(中文版)

    接下来,我们将会对对象关系映射器进行全面的介绍和描述.如果你想用它为你的应用程序构建更高层次的SQL操作模式,以及为你的Python对象提供自动化的持久性功能,那么首先进行下列教程的学习吧. 首先请看 ...

  7. bt协议详解 DHT篇(下)

    bt协议详解 DHT篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术 ...

  8. fis-receiver:一行命令将项目部署到远程服务器

    前言 本项目基于FIS2,没了.其实fis项目本身就提供了php版本的范例,这里翻译成node版本. 项目地址:https://github.com/chyingp/fis-receiver 服务端接 ...

  9. 简单的音乐播放器(VS 2010 + Qt 4.8.5)

    昨天历经千辛万苦,配置好了VS 2010中的Qt环境(包括Qt for VS插件),今天决定浅浅地品味一下将两者结合进行编程的魅力. 上网查了一些资料,学习了一些基础知识,决定做一个简单的音乐播放器, ...

  10. Unity3D独立游戏开发日记(二):摆放建筑物

    在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有 ...