博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ 289 苹果(01背包)
阅读量:5124 次
发布时间:2019-06-13

本文共 1312 字,大约阅读时间需要 4 分钟。

苹果

时间限制:
3000 ms  |  内存限制:65535 KB
难度:
3
 
描述

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

 

 
输入
有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个正整数,用空格隔开,分别代表苹果的大小c和价钱w。所有输入数字的范围大于等于0,小于等于1000。
输出
对每组测试数据输出一个整数,代表能放入背包的苹果的总价值。
样例输入
3 31 12 13 10 0
样例输出
2
1   2 #include
3 using namespace std; 4 #include
5 int c[1010],w[1010];//c:大小,w:价钱; 6 int f[1010][1010]; 7 int main() 8 { 9 int n,v,i,j;//n:苹果个数,v:背包容量10 while(cin>>n>>v,n||v)11 {12 for(i=1;i<=n;i++)13 cin>>c[i]>>w[i];14 for(i=1;i<=n;i++)15 for(j=0;j<=v;j++)16 {17 f[i][j]=f[i-1][j];18 if(j>=c[i])19 f[i][j]=max(f[i-1][j],f[i-1][j-c[i]]+w[i]);20 }21 cout<
<

 

1 #include
2 #include
3 using namespace std; 4 int f[1010]; 5 int main() 6 { 7 int n,v,i,j,c,w;//n:苹果个数,v:背包容量 c:大小,w:价钱; 8 while(cin>>n>>v,n||v) 9 {10 int f[1010];11 memset(f,0,sizeof(f));12 for(i=1;i<=n;i++)13 {14 cin>>c>>w;15 for(j=v;j>=c;j--)16 {17 if(f[j]

 

转载于:https://www.cnblogs.com/ljwTiey/p/4330700.html

你可能感兴趣的文章
单元测试原来是这样的呼
查看>>
机器学习项目笔记
查看>>
Qt 读写XML文件
查看>>
PM2.5环境检测系统的设计与分析
查看>>
net Core做一个webApi的简单实例
查看>>
hdu3549 最大流
查看>>
js动态时间(转)
查看>>
[转载]析构函数的虚析构和非虚析构调用的差别
查看>>
Selenium 自动化测试基础知识
查看>>
讲座感悟
查看>>
67. Plus One
查看>>
靠谱的Pycharm安装详细教程
查看>>
001. Ansible简介
查看>>
asp.net core利用DI实现自定义用户系统,脱离ControllerBase.User
查看>>
Redis缓存连接池管理
查看>>
mac brew 安装php扩展报错:parent directory is world writable but not sticky
查看>>
大型网站架构演化发展历程
查看>>
四、COSMIC功能点实操
查看>>
Oracle 数据库中对记录进行分页处理
查看>>
数据库的应用详解三
查看>>