ZCMU 1123: 松哥的困惑III

1123: 松哥的困惑III

Description
松哥大喫一頓後,他的體重隨着時間的增長而不斷增長,直到有一天他的體重達到了n噸,他意識到他不能再這樣下去了,所以他居然決定減肥。他每天上午跑步能夠減到a噸,但是晚上喫飯又增加了b噸。松哥想要直到第幾天后他的體重第一次小於m噸,你能告訴他嘛?

Input
多組測試數據。

每組測試數據包含4個正整數n,m,a,b。

所有的整數大小均不大於10000。

Output
對於每組測試數據,輸出一個整數代表松哥第幾天后他的體重第一次小於m噸。

如果不可能輸出”impossible”.

Sample Input

5 1 3 1

Sample Output

2

HINT
這題坑點有點多= =,比如雖然他b>=a的話是輸出impossible但是他第一次n-a的是可以操作的,然後n<m的話應該出0 ,所以最後寫出了一個這麼奇怪的循環
Code:

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int main()
{
    int n,m,a,b;
    while(~scanf("%d %d %d %d",&n,&m,&a,&b))
    {
        int day= 0;
        while(n>=m)
        {
            day++;
            n-=a;
            if(n<m)
                break;
            if(b>=a)
            {
                day=-1;
                break;
            }
            n+=b;
        }
        if(day>=0)
            printf("%d\n",day);
        else
            printf("impossible\n");
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章