//簡單的01揹包,在此推薦一個博客這個博客http://www.cnblogs.com/sdjl/articles/1274312.html寫的挺好的,容易理解
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
#define MAX 1000
int f[MAX];
int main()
{
int N,W,w[105],p[105];
memset(f,0,sizeof(f));
cin>>N>>W;
for(int i=1;i<=N;i++)
{
cin>>w[i]>>p[i];
for(int j=W;j>=w[i];j--)
{
if(f[j]<=f[j-w[i]]+p[i])
f[j]=f[j-w[i]]+p[i];
}
}
cout<<f[W]<<endl;
return 0;
}
51Nod 1085 揹包問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.