CS153/hw6/hw4programs/sp22_tests/knapsack.oat
jmug ee01a8f5b2 Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 23:10:01 -08:00

41 lines
672 B
Text

int max(int a, int b) {
if (a > b) {
return a;
}
return b;
}
int knapsack(int[] v, int[] w, int n, int maxw)
{
if (maxw < 0) {
return -99999999;
}
else if (maxw == 0) {
return 0;
}
else if (n < 0) {
return 0;
}
var include = v[n] + knapsack(v, w, n - 1, maxw - w[n]);
var exclude = knapsack(v, w, n - 1, maxw);
return max(include, exclude);
}
int program(int argc, string[] argv)
{
var v = new int[]{12, 1, 33, 4, 1, 2, 1, 59, 4};
var w = new int[]{2, 10, 34, 9, 20, 26, 14, 5, 4};
var maxw = 30;
var n = 4;
var res = knapsack(v, w, 8, maxw);
return res;
}