A - The Snail

Description

A snail is at the bottom of a 6-foot well and wants to climb to the top. The snail can climb 3 feet while the sun is up, but slides down 1 foot at night while sleeping. The snail has a fatigue factor of 10%, which means that on each successive day the snail climbs 10% * 3 = 0.3 feet less than it did the previous day. (The distance lost to fatigue is always 10% of the first day‘s climbing distance.) On what day does the snail leave the well, i.e., what is the first day during which the snail‘s height exceeds 6 feet? (A day consists of a period of sunlight followed by a period of darkness.) As you can see from the following table, the snail leaves the well during 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 parameters of the problem, the snail will eventually either leave the well or slide back to the bottom of the well. (In other words, the snail‘s height will exceed the height of the well or become negative.) You must find out which happens first and on what day.

Input

The input file contains one or more test cases, each on a line by itself. Each line contains four integers 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 the height of the well in feet, U is the distance in feet that the snail can climb during the day, D is the distance in feet that the snail slides down during the night, and F is the fatigue factor expressed as a percentage. The snail never climbs a negative distance. If the fatigue factor drops the snail‘s climbing distance below zero, the snail does not climb at all that day. Regardless of how far the 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

题意:有一只蜗牛在井底,问你他是否能够离开井。基础题H:井的高度U:每天白天爬的高度D:每天晚上下滑的高度F:蜗牛的疲劳期,每天少爬U*F/100

注意:1、蜗牛每天爬的距离都比前一天少2、蜗牛每天爬的距离总是要大于03、函数类型最好用double4、当蜗牛爬行的总路程大于井的高度时就成功了,当蜗牛下滑之后的高度小于0就失败

心得:感觉自己对for循环和break的一些用法有些模糊不清了,恩,还是有收获的AC代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double a,b,c,d;
double sum,s;
int i;
while(scanf("%lf %lf %lf %lf",&a,&b,&c,&d),a)
{
s=b;
i=0;
sum=0;
//if(a==0) break;
while(1)
{
i++;
if(s>0) sum=sum+s;
if(sum>a) break;
sum=sum-c;
if(sum<0) break;
s=s-(d/100)*b;
}
if(sum>a) printf("success on day %d\n",i);
else printf("failure on day %d\n",i) ;

}
return 0;
}

				
时间: 2024-08-26 23:35:43

A - The Snail的相关文章

Snail—OC学习之文件操作(非读写)

#import <Foundation/Foundation.h> //宏定义一个文件夹的路径信息 #define path @"/Users/XXX/Desktop/Snail" //宏定义一个文件的路径 #define filePath @"/Users/XXX/Desktop/Snail/Snail3/Snail.txt" int main(int argc, const char * argv[]) { @autoreleasepool { //

usaco Snail Trails

N没有给数据范围是这题最恶心的地方,因为这个wa了有点恶心. /* ID: modengd1 PROG: snail LANG: C++ */ #include <iostream> #include <stdio.h> #include <memory.h> using namespace std; char Map[200][200]; bool vis[200][200]; int N,M; int dx[4]={1,0,-1,0}; int dy[4]={0,1

USACO snail

这个题和传统的走迷宫题非常像, 不同点事这个题选定一个方向后会一直走知道遇到障碍物 走到边缘 或者走到已经走过的点, 我们可以使用dfs来解决这个问题,dfs(x, y, dir, steps)表示从起点到x, y花费的步数, 在搜索的时候把握的一个原则就是每次会走到一个新的格子上...代码如下: /* ID: m1500293 LANG: C++ PROG: snail */ #include <cstdio> #include <cstring> #include <al

Snail—UI学习之系统标签栏UITabBarController

背景条件是 有一个根控制器 继承于UITabBarController 然后 建四个UIViewController 再然后创建一个UIViewController 我们让它作为上面四个其中之一的子界面 然后再RootViewController中写入下面代码 #import "WJJRootViewController.h" #import "WJJFirstViewController.h" #import "WJJSecondViewControll

HDU 1302 The Snail(简单数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1302 Problem Description A snail is at the bottom of a 6-foot well and wants to climb to the top. The snail can climb 3 feet while the sun is up, but slides down 1 foot at night while sleeping. The snail

洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails

题目描述 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在N x N 的棋盘上闲逛(1 < n <= 120). 她总是从棋盘的左上角出发.棋盘上有空的格子(用“.”来表示)和B 个路障(用“#”来表示). 下面是这种表示法的示例棋盘: 萨丽总是垂直(向上或者向下)或水平(向左或者向右)地走.她可以从出发地(总是记作A1 )向下或者向右走.一旦萨丽选定了一个方向,她就会一直走下去.如果她遇到棋盘边缘或者路障,她就停下来,并且转过90 度.她不可能离开棋盘,或者走进路障当中.并且,萨丽从不跨过

Snail—UI学习之UITextField

简单看一下UITextField的属性 - (void)createTextField{ UITextField * textField = [[UITextField alloc] initWithFrame:CGRectMake(40, 40, 240, 40)]; //设置UITextField的边框风格,否则看不见textField 盲点的话可以点到它 /* UITextBorderStyleRoundedRect 圆角 UITextBorderStyleBezel 上.左有边框 UIT

洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails(不明原因的scanf错误)

P1560 [USACO5.2]蜗牛的旅行Snail Trails 题目描述 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在N x N 的棋盘上闲逛(1 < n <= 120). 她总是从棋盘的左上角出发.棋盘上有空的格子(用“.”来表示)和B 个路障(用“#”来表示). 下面是这种表示法的示例棋盘: 萨丽总是垂直(向上或者向下)或水平(向左或者向右)地走.她可以从出发地(总是记作A1 )向下或者向右走.一旦萨丽选定了一个方向,她就会一直走下去.如果她遇到棋盘边缘或者路障,她就停下来,并且

Snail—UI学习之初识

在AppDelegate.m中有几个默认存在的函数 // // WJJAppDelegate.m // 课上练习 // // Created by Snail on 15-7-20. // Copyright (c) 2015年 Snail. All rights reserved. // #import "WJJAppDelegate.h" @implementation WJJAppDelegate //程序的入口 仅仅同意一次 - (BOOL)application:(UIApp

杭电 HDU ACM 1302 The Snail

The Snail Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1783    Accepted Submission(s): 1252 Problem Description A snail is at the bottom of a 6-foot well and wants to climb to the top. The s