解题思路:
注意事项:
参考代码:
#include <cstdio> #include <cstring> #include <string> #include <cmath> #include <functional> #include <iostream> #include <algorithm> using namespace std; const int T=1005, M=105; int t = 0, m = 0, a[M]={0}, w[M]={0}, dp[M][T]; int main() { scanf("%d%d", &t, &m); for(int i = 1; i <= m; ++i) { scanf("%d%d", &a[i], &w[i]); } for(int i = 1; i <= m; ++i) { for(int j = 1; j <= t; ++j) { if(j >= a[i]) { dp[i][j] = max(dp[i-1][j],dp[i-1][j-a[i]]+w[i]); } else { dp[i][j] = dp[i-1][j]; } } } printf("%d", dp[m][t]); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:528 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:468 |
【密码】 (C语言代码)浏览:333 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:561 |
简单的for循环浏览:1410 |
wu-理财计划 (C++代码)浏览:835 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:904 |
数组与指针的问题浏览:718 |
演讲大赛评分 (C语言代码)浏览:1638 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:537 |