14级第一次测试 E - The Snail
2015-07-26 15:37
483 查看
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.
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.
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.
exactly as shown in the example.
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' | - |
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 integersH, 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 outputexactly 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#include <stdio.h> #define N 100000 int main(){ double height, climb, slid, factor; while (scanf("%lf%lf%lf%lf", &height, &climb, &slid, &factor) != EOF && height != 0) { int i; double fa = factor / 100.00, dis = climb * fa, cl, sum = 0; for (i = 0; i < N; i++) { cl = climb - i * dis; if (cl < 0) cl = 0; sum += cl; if (sum > height) { printf("success on day %d\n", i + 1); break; } sum = sum - slid; if (sum < 0) { printf("failure on day %d\n", i + 1); break; } } } return 0; }
这题其实也不难,题目也好理解,又WA了两次才发现 它白天白天爬的距离减少到0之后就不再爬了
相关文章推荐
- HDU-2675 Equation Again
- 解决 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0 错误
- 传苹果今年推iPad mini4 相当于微缩版Air2
- Project Euler:Problem 92 Square digit chains
- Airbnb Interview - Nested Integer List Parser
- ORA-12571: TNS:packet writer failure
- leetcode:Factorial Trailing Zeroes
- 1014. Waiting in Line (30)
- uva 10976 Fractions Again?!
- sgu297:Fair-play(水题)
- Scala入门到精通——第十一节 Trait进阶
- MyBaits一对一的查询方法
- 【ID搜索】uva529Addition Chains
- linux下C获取文件的大小http://blog.csdn.net/gdujian0119/article/details/6363574
- linux下如何用c语言调用shell命令http://blog.csdn.net/hzhsan/article/details/7989921
- Linux检测TCP连接断开的一种简单实现方法http://blog.csdn.net/wtewrw/article/details/6547380
- LoadRunner Controller阶段,脚本运行正常Passed Transactions 和Failed Transactions Errors 都没有数据显示?
- HDU 2674 N!Again【数学&&同余定理】
- 【Leetcode】 Factorial Trailing Zeroes #172
- rails总结