hdu 1302 The Snail

96 阅读1分钟

题意:

一直蜗牛想爬出深度度为h的井,白天向上爬u米,晚上下降d米,还有一个就是第二天向上爬的距离为减少F%,第三天又减少F%,u至少为零,不会变成负数。当蜗牛爬出井口或者滑到井底就输出当时的天数。

注意:刚好到井口或者刚好到井底是不算的。

思路:

模拟蜗牛的爬行。

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	double h,u,d,f;
	while(scanf("%lf%lf%lf%lf",&h,&u,&d,&f)&&h&&d&&u&&f){
		double now=0,te=u*(f/100);
		int flag,day=0;
		while(1){	
			day++;
			now+=u;//白天 
			if(now>h) {
			flag=1;
			break;
			}
			now-=d;
			if(now<0) {
			flag=0;
			break;
			} 
			u-=te;//晚上 
			if(u<=0) u=0;	 
		}
		if(flag) printf("success on day %d\n",day);
		else 	printf("failure on day %d\n",day);
	}
	
	return 0; 
}


\