解题思路:
注意事项:
参考代码:
m,n=map(int,input().split()) ls=[[0,0]] for i in range(n): ls.append(list(map(int,input().split()))) dp=[[0 for i in range(m+1)] for j in range(n+1)] for num in range(1,n+1): for wet in range(1,m+1): if wet < ls[num][0]: dp[num][wet]=dp[num-1][wet] else: value_max=ls[num][1]+dp[num-1][wet-ls[num][0]] dp[num][wet]=max(dp[num-1][wet],value_max) print(dp[-1][-1])
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:735 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:531 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:613 |
剪刀石头布 (C语言代码)浏览:1748 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:703 |
【计算直线的交点数】 (C语言代码)浏览:1447 |
A+B for Input-Output Practice (III) (C语言代码)浏览:565 |
GC的苦恼 (C语言代码)浏览:620 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2142 |
回文数(一) (C语言代码)浏览:1117 |