好贷网好贷款

poj 3624 最基本01背包问题

发布时间:2016-12-4 12:08:35 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"poj 3624 最基本01背包问题",主要涉及到poj 3624 最基本01背包问题方面的内容,对于poj 3624 最基本01背包问题感兴趣的同学可以参考一下。

#include <iostream> #include<cstring> #include <stdio.h> using namespace std; #define MAX_V (4000+1) #define MAX_F (13000+1) int n,m; int W[MAX_V]; int D[MAX_V]; int F[MAX_F]; int main() { while(cin>>n>>m) { for(int i=1;i<=n;i++) { cin>>W[i]>>D[i]; } memset(F,0,sizeof(F)); for(int i=1;i<=n;i++) { for(int v=m;v>=W[i];v--) { if( F[ v - W[i] ] + D[i] > F[v]) F[v] = F[ v - W[i] ] + D[i]; } } int maxi = -1; for(int v=m;v>=0;v--) if(F[v] > maxi) maxi = F[v]; cout<<maxi<<endl; } }

上一篇:【中国经济步入良性轨道】
下一篇:边看边写(判断一个序列是否为出栈序列)

相关文章

相关评论