题目描述
cqy终于躲过了各种陷阱,打败了各种野怪,找到了宝藏。可是,墓穴里的氧气已经消耗殆尽,原路返回是不可能了。在这危急关头,cqy竟然奇迹般地发现一条密道,这条密道垂直通向地面。不能再犹豫了,cqy必须赶快架起绳索,向上爬出去!!!已知密道深度为a米,cqy白天会向上爬b米,晚上睡觉时会下滑c米,那么cqy需要几天才能爬出密道?
输入
有多行测试数据。对于每行测试数据,有三个整数a、b、c(0<a,b,c<50)。
输出
在一行内输出cqy爬出密道所需要的天数。如果cqy无法爬出密道,则输出“GAME OVER!”,每两组测试数据之间有一个空行。
样例输入
10 5 4 10 5 5
样例输出
6 GAME OVER!
思路
1.分两种情况,如果下降的比上升的多,那么永远也爬不上去,这时输出gameover
2.如果下降的比上升的少,那么先令sum加上白天的,看看是否到达,如果没有,再减去晚上下滑的以此循环
代码
#include<stdio.h>
struct asd
{
int day;
};
int main()
{
int n,a,b,sum=0,day=1;
int i=0;
int temp=1;
struct asd asd[100];
while(scanf("%d",&n)!=EOF)
{
scanf("%d",&a);
scanf("%d",&b);
if(a-b<=0)
{
printf("GAME OVER!");
goto end;
}
while(1)
{
sum+=a;
if(n-sum<=0)
{
asd[i].day=temp;
break;
}
sum-=b;
temp++;
}
i++;
end:;
}
for(int r=0;r<i;r++)
{
printf("%d",asd[r].day);
}
}