本文主要是介绍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+y∗k−1个,而每次操作你可以获得 x − 1 x−1 x−1 个木棍,所以为了获得木根,需要操作 ⌈ k + y ∗ k − 1 x − 1 ⌉ ⌈\frac{k+y∗k−1}{x−1}⌉ ⌈x−1k+y∗k−1⌉,之后获得 k k k 个煤块需要操作 k k k 次,所以答案就是 ⌈ k + y ∗ k − 1 x − 1 ⌉ + k ⌈\frac{k+y∗k−1}{x−1}⌉+k ⌈x−1k+y∗k−1⌉+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;
}
这篇关于Buying Torches的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!