描述

给两个有一定容量的箱子,往里面装宝石(宝石总容量不能超过箱子容量),不同的宝石有不同的容量和价值。求两个箱子里最大宝石的价值。

输入

line 1: Input n;  n:表示宝石数量    1<n<100
line 2: Input C1,C2;   C1:第一个箱子的容量  C2:第二个箱子的容量  1<C1,c2<100
line 3~n+3-1: Ci,Vi   Ci:宝石容量  Vi:宝石价值 
计算后的算有数据都在2^31内.

输出

两个箱子里的宝石的最大价值。

样例输入

4
10 20
5 20
11 15
6 8
8 9
6
10 20
6 8
4 15
8 9
4 16
15 20
3 15

样例输出

44
66

题目分析:

01背包,多开一维。

#include <bits/stdc++.h>
using namespace std;
int dp[][],w[],v[];
int main()
{
int n,c1,c2;
while(~scanf("%d",&n))
{
memset(dp,,sizeof dp);
scanf("%d%d",&c1,&c2);
for(int i=;i<=n;i++)
scanf("%d%d",&w[i],&v[i]);
for(int i=;i<=n;i++)
for(int j=c1;j>=;j--)
for(int k=c2;k>=;k--)
{
if(j>=w[i]) dp[j][k]=max(dp[j][k],dp[j-w[i]][k]+v[i]);
if(k>=w[i]) dp[j][k]=max(dp[j][k],dp[j][k-w[i]]+v[i]);
}
printf("%d\n",dp[c1][c2]);
}
return ;
}

最新文章

  1. Java实现Mysql数据库自动备份
  2. Hdu 1009 FatMouse&#39; Trade
  3. Fragment中添加ListView而不使用ListFragment
  4. hdu1158 dp经典题
  5. Windows Server 2008修改远程桌面连接数
  6. Qt编程之QImage类小结
  7. 查看文章strncpy()功能更好的文章
  8. 面向对象15.3String类-常见功能-转换
  9. JAVA的循环控制与循环嵌套
  10. JS学习笔记Day9
  11. 利用Android-FingerprintManager类实现指纹识别
  12. IIS部署发布flask网站
  13. WebSocket服务端和客户端使用
  14. C# NPOI 日期格式
  15. BZOJ1433或洛谷2055 [ZJOI2009]假期的宿舍
  16. Java多线程系列目录
  17. 在web.xml中设置全局编码
  18. MySQL--Checkpoint基础
  19. Git安装和基本使用(1)
  20. P&#183;C&#183;L 了解

热门文章

  1. 初识Spinner
  2. UIWebView全解
  3. COGS 147. [USACO Jan08] 架设电话线
  4. 关于 NetBackup 应答文件(/tmp/NBInstallAnswer.conf)
  5. MySql面试题、知识汇总、牛客网SQL专题练习
  6. bat文件设置环境变量
  7. targetcli save error
  8. python学习笔记-环境安装【1】
  9. 解决 cocos2dx iOS/mac 设置纹理寻址模式后纹理变黑的问题
  10. [LUOGU] 4149 [IOI2011]Race