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;
} 
京公网安备 11010502036488号