Buying Torches

Buying Torches
在这里插入图片描述

思路

初始你有一个木棍,造出 k k k 把火炬需要 k k k 个木棍和 k k k 个煤块,而一个煤块需要 y y y 个木棍,所以需要木棍 k + y ∗ k − 1 k+y∗k−1 k+yk1个,而每次操作你可以获得 x − 1 x−1 x1 个木棍,所以为了获得木根,需要操作 ⌈ k + y ∗ k − 1 x − 1 ⌉ ⌈\frac{k+y∗k−1}{x−1}⌉ x1k+yk1,之后获得 k k k 个煤块需要操作 k k k 次,所以答案就是 ⌈ k + y ∗ k − 1 x − 1 ⌉ + k ⌈\frac{k+y∗k−1}{x−1}⌉+k x1k+yk1+k.

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
    
    
    int _;
    scanf("%d", &_);
    while (_--) {
    
    
        ll x, y, k;
        scanf("%lld%lld%lld", &x, &y, &k);
        x--;
        printf("%lld\n", (k * y + k + x - 2) / x + k);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43601103/article/details/112940356