测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A31181. 阅读以下用动态规划解决的0-1背包问题的函数,假设背包的容量 是10kg,假设输入4个物品的重量分别为 (单位为kg),每个物品对应的价值 分别为 ,则函数的输出为( )。def knapsack(capacity, weights, values): dp = [[0 for _ in range(capacity + 1)] for _ in range(len(weights) + 1)]…

单选题 10

题目描述

阅读以下用动态规划解决的0-1背包问题的函数,假设背包的容量 是10kg,假设输入4个物品的重量分别为 (单位为kg),每个物品对应的价值 分别为 ,则函数的输出为(    )。

def knapsack(capacity, weights, values):

      dp = [[0 for _ in range(capacity + 1)] for _ in range(len(weights) + 1)]

      for i in range(1, len(weights) + 1):

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

                  if weights[i - 1] <= j:

                        dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weights[i - 1]] + values[i - 1])

                  else:

                        dp[i][j] = dp[i - 1][j]

      return dp[-1][-1]


weights = [1, 3, 4,6]

values = [20,30,50,60]

capacity = 10

print(knapsack(capacity, weights, values))

选项(单选)

上一题 下一题