背包问题python

def main():
    w = [ 0 , 2 , 3 , 4 , 5 ] #商品的体积2、3、4、5
    v = [ 0 , 3 , 4 , 5 , 6 ] #商品的价值3、4、5、6
    bagV = 8 #背包大小
    dp=[[0 for col in range(bagV+1)] for row in range(len(w))]
    for i in range(1,5):
        for j  in range(1, bagV+1):
            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 i in dp:
        print(i)

main()
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐