longger


私信TA

用户名:longger

访问量:206

签 名:

等  级
排  名 76246
经  验 154
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 云南农业大学
专  业

  自我简介:

TA的其他文章

分组背包 python
浏览:164

解题思路:

动态规划,01背包衍生题型,只需多一个循环来遍历决策即可。

注意事项:

注意背包体积要大于物品体积才能将物品放入

参考代码:

c, n, t = map(int, input().split())

dp = [0] * (c+1)

nums = []

for _ in range(n):

    nums.append(list(map(int, input().split())))

    

for j in range(1, t+1):

    num = []

    for k in range(n):

        if nums[k][2] == j:

            num.append(nums[k])

    for i in range(c, 0, -1):

        for v, w, s in num:

            if i >= v:

                dp[i] = max(dp[i], dp[i-v]+w)

            

print(dp[c])

 

0.0分

1 人评分

  评论区

  • «
  • »