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; }