【蓝桥杯】【动态规划】【背包问题】

背包问题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()

猜你喜欢

转载自blog.csdn.net/qq_41563601/article/details/124036547