[恢]hdu 1302

2011-12-26 09:07:10

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1302

题意:有个蜗牛爬墙。墙高H。一开始每天白天能爬U,晚上滑下来D。之后因为疲劳,每天能爬的高度都比前一天减少U*F%。问何时能离开墙(爬过或跌下来)。

mark:直接模拟。

代码:

# include <stdio.h>


int h, u, d, f ;


int gao()
{
double a = 0, b = u, c = 1.0*f/100.0 * u ;
int days = 1 ;
while (1)
{
// printf ("%d %.2lf ", days, a) ;
// printf ("%.2lf ", b) ;
a += b ;
// printf ("%.2lf ", a) ;
if (a > h) return days ;
a -= d ;
// printf ("%.2lf\n", a) ;
if (a < 0) return -days ;
b -= c ;
if (b < 0) b = 0 ;
days++ ;
}
return 0 ;
}



int main ()
{
int ans ;
while (~scanf ("%d %d %d %d", &h, &u, &d, &f) && h)
{
ans = gao() ;
if (ans > 0)
printf ("success on day %d\n", ans) ;
else
printf ("failure on day %d\n", -ans) ;
}
return 0 ;
}



posted @ 2012-01-06 23:45  Seraph2012  阅读(173)  评论(0编辑  收藏  举报