解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:798 |
简单的a+b (C语言代码)浏览:385 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
三角形 (C++代码)递推浏览:825 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:366 |
【计算球体积】 (C语言代码)浏览:1158 |
K-进制数 (C语言描述,蓝桥杯)浏览:955 |
小O的乘积 (C++代码)浏览:796 |
简单的a+b (C语言代码)浏览:443 |
简单的a+b (C语言代码)浏览:502 |