码迷,mamicode.com
首页 > 其他好文 > 详细

(HDU)1302 -- The Snail(蜗牛)

时间:2016-12-05 22:52:56      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:string   scanf   题目   div   main   printf   else   double   actor   

题目链接:http://vjudge.net/problem/HDU-1302

分析:这题的限制要求很多,一天分为白天和黑夜。并不能直接用上升-下降作为一天变化量(万一白天就出去了呢?)。

一开始做的时候初始位置要设置double型的0,我写成了int型,郁闷了半天。

要注意up的距离不可能是负的,就算很疲劳。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <iostream>
 5 #include <algorithm>
 6 #include <string>
 7 #include <cstdlib>
 8 
 9 using namespace std;
10 
11 int main()
12 {
13     double  height,up,down,factor,delta;
14     while(~scanf("%lf",&height))
15     {
16         if(height==0) break;
17         scanf("%lf %lf %lf",&up,&down,&factor);
18         int day=0,flag=0;
19         double place=0,first=up;
20         delta=(first*factor*0.01);
21         for(day=1;;day++)
22         {
23             if(up>=0) place+=up;
24             if(place>height)
25             {
26                 flag=1;
27                 break;
28             }
29             place-=down;
30             if(place<0)
31             {
32                 flag=0;
33                 break;
34             }
35             if(up>=0) up-=delta;
36         }
37         if(flag) printf("success on day %d\n",day);
38         else printf("failure on day %d\n",day);
39     }
40     return 0;
41 }

 

(HDU)1302 -- The Snail(蜗牛)

标签:string   scanf   题目   div   main   printf   else   double   actor   

原文地址:http://www.cnblogs.com/ACDoge/p/6135516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!