POJ--3624

来源:互联网 发布:ibm人工智能 鲍勃迪伦 编辑:程序博客网 时间:2024/06/14 05:19

经典的0,1背包问题,将二维数组压缩为一维数组

#include<iostream>using namespace std;int dp[13000];int weight[13000];int value[13000];int main(){    int n,w_max;    cin>>n>>w_max;    for(int i=0;i<n;i++)    {        cin>>weight[i]>>value[i];    }    for(int i=0;i<n;i++)    {        for(int j=w_max;j>=weight[i];j--)        {            dp[j]=(dp[j]>(dp[j-weight[i]]+value[i]))?dp[j]:(dp[j-weight[i]]+value[i]);        }    }    cout<<dp[w_max]<<endl;    return 0;}


 

0 0
原创粉丝点击