题解:P11599 『Fwb』神话の传播

题目传送门


题目思路

题目中已经给出了追的天数的计算公式:\(\lceil \frac{n}{x}\rceil\),所以我们只需要求出补充能量的天数。不难发现,若每 \(k\) 天要补充能量的话,补充能量的天数为 \(\lceil \frac{\lceil\frac{n}{x}\rceil}{k}\rceil-1\)(第一次行动不需要能量所以要减一)。

实现

如何实现向上取整?判断 \(n\) 是否能被 \(k\) 整除,若能整除那就取 \(\left \lfloor \frac{x}{y} \right \rfloor\),否则取 \(\left \lfloor \frac{x}{y} \right \rfloor + 1\)

代码

#include <iostream>

using namespace std;

int n, x, k;

int main (){
    cin >> n >> x >> k;
    int run = (n % x == 0 ? n / x : n / x + 1);
    int breaken = (run % k == 0 ? run / k : run / k + 1) - 1;
    cout << breaken + run << '\n';
    return 0;
}
posted @ 2025-04-18 13:17  _Charllote  阅读(24)  评论(0)    收藏  举报