题目大意:
一只虫(一单位长度),在井底(离地n单位长度的位置),其中n < 100,虫往上爬u单位长度再下掉d单位长度,上爬一次和下掉一次都耗时1分钟,如此循环往复,问多长时间虫可以爬出井。现有多个测例,每个测例都给出n、u、d,对于每个测例都输出需要多长时间可以爬出井。
直接公式:u(t + 1) - dt ≥ n,对t的最小值向上取整后得T,答案就是2T + 1。
代码:
/*
* Problem ID : ZOJ 1494 Climbing Worm
* Author : Lirx.t.Una
* Language : C
* Run Time : 0 ms
* Run Memory : 168 KB
*/
#include <stdio.h>
#include <math.h>
int
main() {
int n, u, d;
while ( scanf("%d%d%d", &n, &u, &d), n )
printf("%d\n", 1 + ( (int)ceil((double)( n - u ) / ( u - d )) << 1 ));
return 0;
}