解题思路:分组背包
注意事项:
参考代码:
#include<iostream> #include<algorithm> using namespace std; const int N = 40; int v,n,t,a,b,c,g[N][3],f[210]; int main() { cin >> v >> n >> t; for(int i = 0; i < n; i++) cin >> g[i][0] >> g[i][1] >> g[i][2]; for(int i = 1; i <= t; i ++) for(int j = v; j >=0; j --){ for(int k = 0; k < n; k++){ if(j >= g[k][0] && g[k][2] == i) f[j] = max(f[j], f[j - g[k][0]] + g[k][1]); } } cout << f[v]; return 0; }
0.0分
1 人评分
三进制小数 (C++代码)(第11位大于1.5才能进位)浏览:1203 |
C语言训练-舍罕王的失算 (C++代码)(都给答案了还算什么)浏览:994 |
川哥的吩咐 (C语言代码)浏览:926 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:717 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
钟神赛车 (C++代码)浏览:905 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:689 |
母牛的故事 (C语言代码)浏览:478 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1327 |
WU-整除问题 (C++代码)浏览:648 |