7-2 "瓜"牛

  第一类:$m \ge h$,则一整白天爬行 $m$ 米即可。

  第二类:$m <    h$,先求出按照每天 $c = m - n$ 米的速度爬行即为 $d = \frac{h}{c}$,$d$ 为最大天数,然后再往回推即为减去一天看是否还能爬出井口,如此反复,直至得到最小满足条件的天数。

  该题在赛场上憋了 40 min都没憋出来,实属惭愧。

#include <iostream>
using namespace std;

typedef long long LL;

int main()
{
    int T;
    cin >> T;
    while (T--) {
        LL h, m ,n, c;
        cin >> h >> m >> n;
        c = m - n;
        if (m >= h) {
            cout << 1 << endl;
            continue;
        }
        LL d = h / c;
        while ((d - 1) * c + m >= h) {
            --d;
        }
        cout << d + 1 << endl;
    }
    return 0;
}

 

posted @ 2021-04-06 21:42  Fool_one  阅读(70)  评论(0编辑  收藏  举报