私信TA

用户名:dotcpp0674941

访问量:163

签 名:

等  级
排  名 6820
经  验 1321
参赛次数 0
文章发表 9
年  龄 0
在职情况 学生
学  校 青岛科技大学
专  业

  自我简介:

解题思路:

动态规划,背包问题

注意事项:

参考代码:

N, m = map(int, input().split())
sub_value = []
sub_importance = []

for _ in range(m):
   v, p = map(int, input().split())
   sub_value.append(v)
   sub_importance.append(p)

product = [[0] * (N + 1) for _ in range(m)]

for i in range(m):
   for j in range(N + 1):
       if sub_value[i] <= j:
           product[i][j] = max(product[i - 1][j], sub_importance[i] * sub_value[i] + product[i - 1][j - sub_value[i]])
       else:
           product[i][j] = product[i - 1][j]


print(product[m - 1][N])

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区