首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

rnqoj-95-良多看DVD(加强版)-二维背包

2013-10-12 
rnqoj-95-多多看DVD(加强版)-二维背包背包的做的多了,二维背包就很简单了。。。#includestdio.h#includeio

rnqoj-95-多多看DVD(加强版)-二维背包

背包的做的多了,二维背包就很简单了。。。

#include<stdio.h>#include<iostream>#include<string.h>using namespace std;int main(){    int n,m,l,i,j,k;    int c[101];    int w[101];    int dp[1001][101];    while(~scanf("%d%d%d",&n,&m,&l))    {        for(i=1;i<=n;i++)        {            scanf("%d%d",&c[i],&w[i]);        }        memset(dp,-1,sizeof(dp));        dp[0][0]=0;        for(i=1;i<=n;i++)        {            for(j=l;j>=c[i];j--)            {                for(k=1;k<=i;k++)                {                    if(dp[j-c[i]][k-1]!=-1)dp[j][k]=max(dp[j][k],dp[j-c[i]][k-1]+w[i]);                }            }        }        int maxx;        maxx=0;        for(i=0;i<=l;i++)maxx=max(maxx,dp[i][m]);        cout<<maxx<<endl;    }    return 0;}


热点排行