The Snail

杭电1302

题意:一个蜗牛在某容器的底部,容器高度为h,蜗牛每次白天行走的距离逐渐减小,减小系数为f;第一天白天爬行的距离为u,以后每次白天爬行的距离都减小原来的u*f/100.0,蜗牛夜间休息会滑落d,最后看看蜗牛是否能爬到顶部;成功失败都输出所需的天数。

View Code
 1 #include<stdio.h>
 2 int main()
 3 {
 4     float i,h,u,d,f,a,b;
 5     int day;
 6     scanf("%f%f%f%f",&h,&u,&d,&f);
 7     while(h)
 8     {
 9         day=1;
10         a=u;
11         b=u;
12         while(a>=0&&a<=h)
13         {
14             a=a-d;//第一天晚上休息后,离底部的高度
15             if(a<0)
16                 break;
17             b-=f*u/100.0;//下一天蜗牛一天可以爬行的距离
18             b=(b>=0?b:0);
19             a+=b;
20             day++;
21         }
22         if(a<0)
23             printf("failure ");
24         else
25             printf("success ");
26         printf("on day %d\n",day);
27         scanf("%f%f%f%f",&h,&u,&d,&f);
28     }
29     return 0;
30 }

 

posted @ 2012-07-27 19:54  zlyblog  阅读(161)  评论(0编辑  收藏  举报