HDUOJ----4501小明系列故事——买年货(三维背包)
小明系列故事——买年货
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 2146 Accepted Submission(s): 953
刚到超市,小明就发现超市门口聚集一堆人。用白云女士的话说就是:“那家伙,那场面,真是人山人海,锣鼓喧天,鞭炮齐呤,红旗招展。那可真是相当的壮观啊!”。好奇的小明走过去,奋力挤过人群,发现超市门口贴了一张通知,内容如下:
值
此新春佳节来临之际,为了回馈广大顾客的支持和厚爱,特举行春节大酬宾、优惠大放送活动。凡是都尚会员都可用会员积分兑换商品,凡是都尚会员都可免费拿k
件商品,凡是购物顾客均有好礼相送。满100元送bla bla bla bla,满200元送bla bla bla bla
bla...blablabla....
还没看完通知,小明就高兴的要死,因为他就是都尚的会员啊。迫不及待的小明在超市逛了一圈发现超市里有n件他想要的商品。小明顺便对这n件商品打了分,表示商品的实际价值。小明发现身上带了v1的人民币,会员卡里面有v2的积分。他想知道他最多能买多大价值的商品。
由于小明想要的商品实在太多了,他算了半天头都疼了也没算出来,所以请你这位聪明的程序员来帮帮他吧。
每组数据的第一行是四个整数n,v1,v2,k;
然后是n行,每行三个整数a,b,val,分别表示每个商品的价钱,兑换所需积分,实际价值。
[Technical Specification]
1 <= n <= 100
0 <= v1, v2 <= 100
0 <= k <= 5
0 <= a, b, val <= 100
Ps. 只要钱或者积分满足购买一件商品的要求,那么就可以买下这件商品。
详细信息见Sample。
4 3 3
0 3 2
2 3 3
3 3 2
1 0 2
4 2 5 0
0 1 0
4 4 1
3 3 4
3 4 4
4
#include<stdio.h>
#include<string.h>
#include<stdlib.h> int dp[][][];
struct goods
{
int a; //gooda price
int b; // 积分
int val ; // real price
}; goods sta[];
int main()
{
int n,k,v1,v2,i,j,g,w,temans;
//freopen("test.in","r",stdin);
// freopen("test.out","w",stdout);
while(scanf("%d%d%d%d",&n,&v1,&v2,&k)!=EOF)
{
for(i=;i<n;i++)
scanf("%d%d%d",&sta[i].a,&sta[i].b,&sta[i].val);
memset(dp,,sizeof(dp));
for(i=;i<n;i++)
{
for(g=v1 ; g>= ;g--)
{
for(w=v2 ; w>= ; w--)
{
for(j=k ; j>= ; j--)
{
temans=;
if( g>=sta[i].a && temans < dp[g-sta[i].a][w][j] + sta[i].val )
temans = dp[g-sta[i].a][w][j] + sta[i].val ;
if( w>=sta[i].b && temans< dp[g][w-sta[i].b][j] + sta[i].val )
temans = dp[g][w-sta[i].b][j] + sta[i].val ;
if( j>= && temans < dp[g][w][j-] + sta[i].val )
temans = dp[g][w][j-] + sta[i].val ;
if(temans>dp[g][w][j])dp[g][w][j]=temans;
}
}
}
}
printf("%d\n",dp[v1][v2][k]);
}
return ;
}
HDUOJ----4501小明系列故事——买年货(三维背包)的更多相关文章
- hdu 4501 小明系列故事——买年货_二维背包
题目:你可以有v1元,v2代金券,v3个物品免单,现在有n个商品,商品能用纸币或者代金券购买,当然你可以买v3个商品免费.问怎么最大能买多少价值 题意: 思路二维背包,dp[v1][v2][v3]=M ...
- hdu4501——小明系列故事——买年货(多维背包)
题解: 思路:将v1,v2,k都当作一种体积,开三维dp数组,每种物品只能取一次 代码中的for循环是倒着进行的,知道01背包和完全背包的肯定明白,倒着进行的就代表每种物品只选择一次 代码: 1 #i ...
- hdoj--4501--小明系列故事——买年货(三维背包)
小明系列故事--买年货 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tota ...
- hdu 4542 小明系列故事——未知剩余系
小明系列故事——未知剩余系 题意:操作0表示某数有n个约数,操作1为某数有n个非约数:n <= 47777,若是存在小于2^62的数符合,则输出该数,否则若是不存在输出Illegal,若是大于2 ...
- HDU 4511 小明系列故事——女友的考验 (AC自动机+DP)
小明系列故事——女友的考验 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- HDUOJ-----4506小明系列故事——师兄帮帮忙
小明系列故事——师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- HDU 4511 小明系列故事——女友的考验 (AC自动机 + DP)
小明系列故事——女友的考验 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- HDU 4528 BFS 小明系列故事——捉迷藏
原题直通车:HDU 4528 小明系列故事——捉迷藏 分析: 标记时加两种状态就行. 代码: #include<iostream> #include<cstring> #inc ...
- hdu 4506 小明系列故事——师兄帮帮忙【幂取模乱搞】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4506 http://acm.hust.edu.cn/vjudge/contest/view.action ...
随机推荐
- sizeof, strlen区别
strlen与sizeof的区别 .sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. .size ...
- JMS基本概念之一
The Java Message Service(JMS) API is a messaging standard that allows application components based o ...
- Android 时间日期Widget 开发详解
桌面Widget其实就是一个显示一些信息的工具(现在也有人开发了一些有实际操作功能的widget.例如相机widget,可以直接桌面拍照).不过总的来说,widget主要功能就是显示一些信息.我们今天 ...
- iframe跨域与session失效问题
何为跨域跨域session/cookie? 也就是第三方session/cookie.第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会 ...
- JAVA输出指定目录下的子目录和子文件
题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数 ...
- ECMAScript5之Object学习笔记(一)
随着IE的逐步追赶,目前到IE11已经能够很好的支持ECMAScript5标准了,其他的现代浏览器像firefox,chrome,opera就更不用说了. 再加上nodejs使得javascript在 ...
- matlab中将矩阵按照行打乱顺序的一个例子
来自百度百科: A = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12] rowrank = randperm(size(A, 1)); % 随机打乱的数字,从1~行数打 ...
- List 去重对象
@Overridepublic RpcResponse<List<HobbiesVo>> queryHobbies(Long userId) { try{ List<Ho ...
- 隐马尔可夫模型HMM与维特比Veterbi算法(二)
隐马尔可夫模型HMM与维特比Veterbi算法(二) 主要内容: 前向算法(Forward Algorithm) 穷举搜索( Exhaustive search for solution) 使用递归降 ...
- Discuz常见小问题-如何修改网站标题title
在全局-SEO设置中,找到论坛的title修改即可