package com.raylew.algorithm.book1;
public class P01背包 {
static int C = 10;
static int[] V = {0, 2, 2, 6, 5, 4, 0};
static int[] W = {0, 6, 3, 5, 4, 6, 0};
static int n = 5;
static int[][] d = new int[n + 2][C + 1];
public static void main(String[] args) {
int i, j;
for (i = n; i >= 1; i--) {
for (j = 0; j <= C; j++) {
if (i == n) {
d[i][j] = 0;
} else {
d[i][j] = d[i + 1][j];
}
if (j >= V[i]) {
if (d[i][j] < (d[i + 1][j - V[i]] + W[i])) {
d[i][j] = d[i + 1][j - V[i]] + W[i];
}
}
}
printArr();
}
System.out.println(d[1][C]);
}
public static void printArr() {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= C; j++) {
System.out.print(d[i][j] + " ");
}
System.out.println();
}
System.out.println("-----------------------------------------");
}
}