Cappuccino ~ the end of journey
我们可以把它当做完全背包来看,即该背包有两种物品,一种体积为1价值为a,一种体积为c价值为b,在总价值确定的情况下求体积最多的解法。
#include <bits/stdc++.h> using namespace std; int f[100009]; int main() { int a, b, c, d; scanf("%d%d%d%d", &a, &b, &c, &d); int ans = 0; for(int i = a; i <= d; i++) f[i] = max(f[i], f[i - a] + 1); for(int i = b; i <= d; i++) f[i] = max(f[i], f[i - b] + c); cout << f[d]; return 0; }