编辑代码

#include<iostream>
using namespace std;
#include <algorithm>
 
int main()
{
	int w[6] = { 0 , 6 , 5 , 4 , 2 , 1};			//商品的体积6,5,4,2,1
	int v[6] = { 0 , 5 , 3 , 5 , 3 , 2};			//商品的价值5,3,5,3,2
	int bagV = 8;					        //背包大小
	int dp[6][13] = { { 0 } };			        //动态规划表
 
	for (int i = 1; i <= 5; i++) 
    {
		for (int j = 1; j <= bagV; j++) 
        {
			if (j < w[i])
				dp[i][j] = dp[i - 1][j];
			else
				dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w[i]] + v[i]);
		}
	}
 
	//动态规划表的输出
	for (int i = 0; i < 6; i++) 
    {
		for (int j = 0; j < 9; j++) 
        {
			cout << dp[i][j] << ' ';
		}
		cout << endl;
	}
 
	return 0;
}