即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

NYOJ-苹果【01背包|模版题】

编程语言 xsw_xluos 13℃ 0评论
本文目录
[隐藏]

1.苹果

时间限制:3000 ms | 内存限制:65535 KB


难度:3

2.描述

ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。

3.输入

有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个正整数,用空格隔开,分别代表苹果的大小c和价钱w。所有输入数字的范围大于等于0,小于等于1000。

4.输出

对每组测试数据输出一个整数,代表能放入背包的苹果的总价值。


样例输入

3 3


1 1


2 1


3 1


0 0

5.样例输出

2

6.模版题代码如下:

#include 
#include 
#define N 1005
using namespace std;
int w[N],c[N],dp[N];
int n,v;
void Zero_One_Park(int cost,int weight)
{
    for(int i=v;i>=cost;i--)
    {
        dp[i]=max(dp[i],dp[i-cost]+weight);
    }
}
int main()
{

    while(scanf("%d %d",&n,&v),v+n)
    {
        memset(dp,0,sizeof(dp));
        for(int i=0;iscanf("%d%d",&c[i],&w[i]);
        }
        for(int i=0;icout<return 0;
}

转载请注明:CodingBlog » NYOJ-苹果【01背包|模版题】

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情