The Snail 

A snail is at the bottom of a 6-foot well and wants to climb to the top.The snail can climb 3 feetwhile the sun is up, but slides down 1 foot at night while sleeping.The snail has a fatigue factorof 10%, which means that on each successive day the snail climbs10% 3 = 0.3 feet less thanit did the previous day. (The distance lost to fatigue is always 10% of thefirst day's climbingdistance.) On what day does the snail leave the well, i.e., what is the firstday during whichthe snail's height exceeds 6 feet? (A day consists of a period of sunlightfollowed by a period ofdarkness.) As you can see from the following table, the snail leaves the wellduring the third day.

Day Initial Height Distance Climbed Height After Climbing Height After Sliding
1 0' 3' 3' 2'
2 2' 2.7' 4.7' 3.7'
3 3.7' 2.4' 6.1' -

Your job is to solve this problem in general. Depending on the parametersof the problem, thesnail will eventually either leave the well or slide back to the bottom ofthe well. (In other words,the snail's height will exceed the height of the well or become negative.)You must find out whichhappens first and on what day.

Input

The input file contains one or more test cases, each on a line by itself.Each line contains fourintegers H, U, D, and F, separated by a single space. If H= 0 it signals the end of the input;otherwise, all four numbers will be between 1 and 100, inclusive. H is theheight of the well infeet, U is the distance in feet that the snail can climb during the day, D is the distance in feetthat the snail slides down during the night, and F is the fatigue factorexpressed as a percentage.The snail never climbs a negative distance. If the fatigue factor dropsthe snail's climbing distancebelow zero, the snail does not climb at all that day. Regardless of how farthe snail climbed, it always slides D feet at night.

Output

For each test case, output a line indicating whether the snail succeeded(left the well) or failed(slid back to the bottom) and on what day. Format the output exactly as shown in the example.

Sample Input

6 3 1 10
10 2 1 50
50 5 3 14
50 6 4 1
50 6 3 1
1 1 1 1
0 0 0 0

Sample Output

success on day 3
failure on day 4
failure on day 7
failure on day 68
success on day 20
failure on day 2

题意: 小时候常见的蜗牛爬墙, 我在描述一下

一只蜗牛白天能向上爬, 但是晚上睡觉会滑落一点

然后由于有疲劳的原因, 每天能向上爬的距离越来越少

如第一组数据, 6英尺的墙, 第一天能向上爬3英尺, 但是晚上会滑落1英尺

至于10, 是说百分之10, 第一天是爬3英尺没错, 但是第二天只有 (3 - 3*10%) = 2.7英尺了, 第三天就只有2.4英尺了...

注意点:(容易WA的地方)

首先是临界, 如第一组数据, 爬到6英尺的地方不算爬出, 要大于6才行, 等于不行!

落到墙底也是, 要<0, 等于0不算!

另外每次白天的爬行距离也要判定, 必须是大于零的, 不会说向上爬行的距离最后变的往下爬~

AC代码:

#include<stdio.h>
int main() {
double h, u, d, f;
while(scanf("%lf%lf%lf%lf", &h, &u, &d, &f) != EOF) {
if(h == 0)
break;
int day = 1;
double init_h = 0;
double down = u * (f / 100);
double day_down;
while(init_h < h) {
day_down = (day-1) * down; if((u - day_down) > 0)
init_h = (u - day_down) + init_h; if(init_h > h) {
printf("success on day %d\n", day);
break;
} init_h = init_h - d; if(init_h < 0) {
printf("failure on day %d\n", day);
break;
}
day++;
}
}
return 0;
}

UVA 573 (13.08.06)的更多相关文章

  1. UVA 253 (13.08.06)

     Cube painting  We have a machine for painting cubes. It is supplied withthree different colors: blu ...

  2. UVA 10499 (13.08.06)

    Problem H The Land of Justice Input: standard input Output: standard output Time Limit: 4 seconds In ...

  3. UVA 10025 (13.08.06)

     The ? 1 ? 2 ? ... ? n = k problem  Theproblem Given the following formula, one can set operators '+ ...

  4. UVA 10790 (13.08.06)

     How Many Points of Intersection?  We have two rows. There are a dots on the toprow andb dots on the ...

  5. UVA 10194 (13.08.05)

    :W Problem A: Football (aka Soccer)  The Problem Football the most popular sport in the world (ameri ...

  6. UVA 465 (13.08.02)

     Overflow  Write a program that reads an expression consisting of twonon-negative integer and an ope ...

  7. UVA 10494 (13.08.02)

    点此连接到UVA10494 思路: 采取一种, 边取余边取整的方法, 让这题变的简单许多~ AC代码: #include<stdio.h> #include<string.h> ...

  8. UVA 424 (13.08.02)

     Integer Inquiry  One of the first users of BIT's new supercomputer was Chip Diller. Heextended his ...

  9. UVA 10106 (13.08.02)

     Product  The Problem The problem is to multiply two integers X, Y. (0<=X,Y<10250) The Input T ...

随机推荐

  1. JavaScript对象(document对象 图片轮播)

    图片轮播: 需要注意的HTML需要img标签,他和input标签一样,是非封闭的标签 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  2. 数往知来 HTML<十一>

    HTML_CSS <!--一.表单   <form></form>    表单就是用来进行数据提交的标签 表单就是一对<form></form>标 ...

  3. Spring Batch的事务– Part 3: 略过和重试

    原文:https://blog.codecentric.de/en/2012/03/transactions-in-spring-batch-part-3-skip-and-retry/ This i ...

  4. Python:映像、集合

    一.字典 字典(dictionary)是Python中唯一的“映射”类型,映射这个概念在高中就学过:一个函数f将键(key, 定义域)映射到值(value, 值域).这样的函数在字典中可以称为哈希(H ...

  5. MySQL 5.6 警告信息 command line interface can be insecure 修复

    在命令行输入密码,就会提示这些安全警告信息. Warning: Using a password on the command line interface can be insecure.   注: ...

  6. ado无法访问数据库问题

    现象:以ADO方式访问数据库的C++程序,在一台计算机上能访问成功,在另一台计算机上却访问不成功,报告不能连接错误,并且这两台计算机都装有ado. 原因:ado版本不对 解决方案:下载KB983246 ...

  7. 了解shell

    1. shell 脚本文件第一行:    #!/bin/sh 或 #!/bin/bash "#!"  又称为纪数,在执行bash脚本的时候,内核会根据它来确定该用哪个程序来解释脚本 ...

  8. Android实例-实现扫描二维码并生成二维码(XE8+小米5)

    相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: http://download.csdn.net/detail/zhujianqiangqq/9657186 注意事项 ...

  9. C++ __int64用法(转)

    在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647.而unsig ...

  10. Terrain & Light & Camera

    [Terrain Engine] 1.When you press F, wherever your mouse is positioned will be moved to the center o ...