解题思路:
注意事项:
参考代码:
#include <cstdio> #include <cstdlib> #include <iostream> #include <cmath> #include <cctype> #include <cstring> #include <string> #include <stack> #include <algorithm> #include <functional> using namespace std; const int maxv=201; const int maxw=5001; int w[maxv], v[maxv], dp[maxw]; int main() { int n, m; memset(dp, 0, sizeof(dp)); scanf("%d%d", &n, &m); for(int i = 1; i <= n; ++i) { scanf("%d%d", &w[i], &v[i]); } for(int i = 1; i <= n; ++i) { for(int j = m; j >= w[i]; --j) { dp[j] = max(dp[j],dp[j-w[i]]+v[i]); } } printf("%d\n", dp[m]); return 0; }
0.0分
8 人评分
C语言程序设计教程(第三版)课后习题9.3 (C++代码)浏览:665 |
C语言程序设计教程(第三版)课后习题9.1 (C++代码)浏览:560 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:689 |
数组输出 (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:595 |
母牛的故事 (C语言代码)浏览:435 |
WU-输出正反三角形 (C++代码)浏览:1018 |
1035 题解浏览:778 |
Pascal三角 (C语言代码)浏览:641 |
理财计划 (C语言代码)浏览:465 |