ClimbingWorm
Time Limit : 2000/1000ms (Java/Other) MemoryLimit : 65536/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) :1
Font:Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
An inch worm is at the bottom ofa well n inches deep. It has enough energy toclimb u inches every minute, but then has to rest a minute before climbingagain. During the rest, it slips down d inches. The process of climbingand resting then repeats. How long before the worm climbs out of the well?We'll always count a portion of a minute as a whole minute and if the worm justreaches the top of the well at the end of its climbing, we'll assume the wormmakes it out.
Input
There will be multiple problem instances. Each line willcontain 3 positive integers n, u and d. These give the values mentioned in theparagraph above. Furthermore, you may assume d < u and n < 100. A valueof n = 0 indicates end of output.
Output
Each input instance should generate a single integer on aline, indicating the number of minutes it takes for the worm to climb out ofthe well.
Sample Input
10 2 1
20 3 1
0 0 0
Sample Output
17
19
Source
East Central North America 2002
参考代码:
#include <stdio.h>
int main()
{
int n,u,d;
int count, sum;
scanf("%d%d%d",&n,&u,&d);
while(n)
{
sum=count=0;
while(sum<n)
{
sum=sum+u;
count++;
if(sum<n)
{
sum=sum-d;
count++;
}
}
printf("%d\n",count);
scanf("%d%d%d",&n,&u,&d);
}
return 0;
}