喝可乐
喝可乐
https://ac.nowcoder.com/acm/contest/11210/E
思路
枚举第一次选择的所有可能的情况,当第一次的情况确定后,就能获得这种情况能喝到的饮料数,取最大值即可
代码
#include<bits/stdc++.h> using namespace std; int t, n, a, b; inline int pan(int x, int y) { int ans = n; // b, a int u, v; while (x >= a || y >= b) { u = x / a;//换b v = y / b;//换a ans += u + v; x = x % a + v; y = y % b + u; } return ans; } void solve() { cin >> n >> a >> b; int ans = 0; for (int i = 0; i <= n; ++i) {//第一次选择的情况 //取最大值 ans = max(ans, pan(i, n - i)); } cout << ans << endl; } int main() { cin >> t; while (t--) solve(); return 0; }