代码
w = [0, 2, 3, 4, 5]
v = [0, 3, 4, 5, 6]
bagV = 8
dp =[[0 for col in range(9)] for row in range(5)]
for i in range(1, 5):
for j in range(1, 9):
# 如果容量不能放入第i个物品
if(j < w[i]):
dp[i][j] = dp[i-1][j]
# 如果能放入第i个物品,则判断是放了价值大还是不放价值大
# 需要注意的是dp[i-1][j]为容量为j的i-1个物品,dp[i-1][j-w[i]]为容量为j-w[i]的物品
else:
dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]]+v[i])
for i in range(1, 5):
for j in range(1, 9):
print(dp[i][j],end=' ')
print('\n')