public class Main
{
public static void main(String[] args)
{
int[] weight = {6,5,4,2,1};
int[] value = {5,3,5,3,2};
int bagsize = 10;
BeiBaoTest(weight, value, bagsize);
}
public static void BeiBaoTest(int[] weight, int[] value, int bagsize)
{
int wlen = weight.length, value0 = 0;
int[][] dp = new int[wlen + 1][bagsize + 1];
for (int i = 0; i <= wlen; i++)
{
dp[i][0] = value0;
}
for (int i = 1; i <= wlen; i++)
{
for (int j = 1; j <= bagsize; j++)
{
if (j < weight[i - 1])
{
dp[i][j] = dp[i - 1][j];
}
else
{
dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - weight[i - 1]] + value[i - 1]);
}
}
}
System.out.println("最大价值为:"+dp[wlen][bagsize]);
}
}