解题思路:
注意事项:
递推公式中注意还要和dp[j]本身作比较
参考代码:
a,b = map(int,input().split()) obj=[list(map(int,input().split()))for i in range(b)] dp = list(0 for i in range(a+1)) dp[0]=0 for i in range(b): for j in range(1,a+1): if j-obj[i][0] >=0 : dp[j]=max(dp[j-1],dp[j-obj[i][0]]+obj[i][1],dp[j]) print('max='+str(dp[-1]))
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.5 (Java代码)浏览:1250 |
兰顿蚂蚁 (C++代码)浏览:1225 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
printf基础练习2 (有点不明白)浏览:887 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:906 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:964 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1482 |
回文数字 (C语言代码)浏览:2539 |
蚂蚁感冒 (C语言代码)浏览:1408 |