51nod--1085--背包问题

来源:互联网 发布:51单片机控制机箱风扇 编辑:程序博客网 时间:2024/06/07 22:59

题目链接:

               http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1085

代码:

#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int MAX=1e5+10;int dp[105][MAX];int wi[MAX];int pi[MAX];int main(){    int w,n;    cin>>n>>w;    for(int i=0;i<=n;i++)        dp[i][0]=0;    for(int j=0;j<=w;j++)        dp[0][j]=0;    for(int i=1;i<=n;i++)        cin>>wi[i]>>pi[i];    for(int i=1;i<=n;i++)    {        for(int j=0;j<=w;j++)        {            if(j<wi[i])                dp[i][j]=dp[i-1][j];            else            {                dp[i][j]=max(dp[i-1][j],dp[i-1][j-wi[i]]+pi[i]);            }        }    }    cout<<dp[n][w]<<endl;    return 0;}

原创粉丝点击