HDU2546 饭卡【贪心+0-1背包】
饭卡
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 61781 Accepted Submission(s): 21084
Problem Description
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。
Input
多组数据。对于每组数据:
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。
n=0表示数据结束。
Output
对于每组输入,输出一行,包含一个整数,表示卡上可能的最小余额。
Sample Input
1
50
5
10
1 2 3 2 1 1 2 3 2 1
50
0
Sample Output
-45
32
Source
UESTC 6th Programming Contest Online
问题链接:HDU2546 饭卡
问题简述:(略)
问题分析:贪心+0-1背包问题,不解释。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* HDU2546 饭卡 */#include <bits/stdc++.h>using namespace std;const int N = 1000 + 1;
int a[N], dp[N];int main()
{int n, m;while (~scanf("%d", &n) && n) {for (int i = 1; i <= n; i++) scanf("%d", &a[i]);scanf("%d", &m);sort(a + 1, a + 1 + n);if (m < 5) printf("%d\n", m);else {memset(dp, 0, sizeof dp);m -= 5;for (int i = 1; i < n; i++)for (int j = m; j >= a[i]; j--)dp[j] = max(dp[j], dp[j - a[i]] + a[i]);printf("%d\n", m - dp[m] + (5 - a[n]));}}return 0;
}
HDU2546 饭卡【贪心+0-1背包】相关推荐
- 饭卡问题(0-1背包的变形)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- hdu 2546 饭卡【贪心+01背包基础题】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2546 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- HDU 2546 饭卡(贪心+DP)
题目链接 几个月之前做的一个题了,开始想时就看出应该是个01背包问题,又发现不太一样,貌似应该是有种贪心策略,把最大的挑出来最后还有5块钱的再买,剩下的体积用01背包去求最优选择,当时WA了3次,以为 ...
- HDU 2546 饭卡(01背包裸题)
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 2546 饭卡——一道简单的 01背包
今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...
- HDU 2546 饭卡 01背包变形
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 【Cqupt热身赛】诡异的饭卡 【01背包、动态规划】
DescriptionDescriptionDescription 海女美术大学食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于555元,就一定可以购 ...
- hdu 2546 饭卡【01背包】
题目链接:https://vjudge.net/contest/103424#problem/C 饭卡 Time Limit: 5000/ ...
最新文章
- [codevs 2236] 终极情报网
- 面向对象2(构造方法、抽象类、接口)
- .net core Entity Framework Core Code First 框架 分层开发
- FIFO分枝_限界算法
- android listpreference 自定义,Android – 我的ListPreference中的自定义行布局
- 使用html() undefined_SweetAlert2使用教程
- ajax php接收不到数据库,PHP更新MySQL数据库与AJAX调用没有做任何事情
- 作者:胡青青(1984-),女,就职于中国人民银行征信中心数据部
- 啥是前端开发工程师必会的5种网页布局方法?
- java中的final关键字(2013-10-11-163 写的日志迁移
- 如何想要在开机启动登陆时,用户名也不输入
- 为什么静态static成员函数不能成为virtual虚函数
- 或许是 Nginx 上配置 HTTP2 最实在的教程了
- linux板级设备的,linux板级设备的初始化过程是怎样的?
- beyond compare如何设置只比较实际内容?(使用关联规则比较)
- 济南钢城四中2021高考成绩查询,武汉高中排行榜分数线2021
- 删除 drop truncate delete
- 最好用的内网穿透工具合集
- OAuth2第三方登录快速接入
- 《企业经营统计学》CH.4 企业产出统计分析
热门文章
- 2019-11-07 检查gcc交叉编译器预定义宏(ARM32/ARM64/X86-64)以及对浮点数的支持情况
- 2018-08-10 Netty:4.x
- 2年3个月推倒重来的决心 独立游戏《须弥•域》的涅槃之路
- C#多线程学习(四) 多线程的自动管理(线程池)
- linux普通用户id一般是,实际用户ID和有效用户ID (一) *****
- python数据分析与挖掘实战pdf_《Python数据分析与挖掘实战》PDF+完整源码
- 【java奇思妙想】关于JavaScript实现全选,全不选以及反选功能的示例
- 【java奇思妙想】使用多线程的思想来实现java网络编程接收和发送的问题
- Hadoop 之 Distcp官网介绍和注意事项
- c语言源程序总是由一个或多个函数组成,2016年中山大学卡内基梅隆大学C语言程序设计复试笔试仿真模拟题...