解题思路:
01背包
注意事项:
参考代码:
#include<iostream> #include<algorithm> using namespace std; const int Vmax=30001,Nmax=25; int f[Nmax][Vmax]={0}; int w[Nmax],v[Nmax]; int main() { int V,N; while(cin>>V>>N) { for(int i=1;i<=N;i++) { cin>>v[i]>>w[i]; } for(int i=1;i<=N;i++) { for(int j=1;j<=V;j++) { if(v[i]<=j) { f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]*v[i]); } else { f[i][j]=f[i-1][j]; } } } cout<<f[N][V]<<endl; } return 0; }
0.0分
0 人评分
【回文数(二)】 (C语言代码)浏览:728 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:958 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:797 |
【金明的预算方案】 (C++代码)浏览:934 |
【矩阵】 (C++代码)浏览:936 |
时间转换 (C语言代码)浏览:624 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1273 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:542 |
【魔板】 (C++代码)浏览:1155 |