HDU2546_用01背包做

题目大意:          电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。         Input         多组数据。对于每组数据:         第一行为正整数n,表示菜的数量。n 第二行包括n个正整数,表示每种菜的价格。价格不超过50。         第三行包括一个正整数m,表示卡上的余额。m n=0表示数据结束。         Output          对于每组输入,输出一行,包含一个整数,表示卡上可能的最小余额。 解题思路:          先找出菜里面的最大价格,先把它排除掉,因为这个价格最大的,肯定是放最后去减的拉。然后剩下的用01背包,总价格作为背包,买菜数量最为权值。总价格是卡上余额减去5块钱。(因为你总要尽可能地买菜买到不小于5,最后再用刚刚剩余的那个最大的菜价减掉,最终结果就是卡上的余额最小) 01背包,这里的01背包初始化的时候要全都初始化为负无穷哦。还有,当输入卡内的余额小于5时,直接输出卡内余额,刚刚因为这个错误,wa了2次~~汗 代码:
#include
#define max(x,y) x>y? x:y
const int MAX=1005;
using namespace std;
int main(void)
{int flag,n,dp[MAX],vege[MAX];while(cin>>n,n){int Max=0,i,remainder,tal1,j;flag=0;for(i=1;i>vege[i];if(vege[i]>Max){Max=vege[i];flag=i;}}cin>>remainder;if(remainder=vege[i];j--){dp[j]=max(dp[j],dp[j-vege[i]]+1);}}for(i=tal;i>=0;i--){if(dp[i]>=0){tal1=i;break;}}cout<

转载于:https://www.cnblogs.com/cchun/archive/2011/11/23/2520191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

俄罗斯游戏软件:C语言应用初步感受

俄罗斯游戏软件&#xff1a;C语言应用初步感受C语言课程设以一节课&#xff0c;老师提供了一个C语言的飞俄罗斯方块让我们感受&#xff0c;我们所学的C语言课程&#xff0c;主要是各种语句的练习&#xff0c;这次是用我们所学过的知识来感受一个实际的系统。首先安装c-free&…

重定向 12 21 解析

在 shell 程式中&#xff0c;最常使用的 FD (file descriptor) 大概有三个, 分别是: 0: Standard Input (STDIN) 1: Standard Output (STDOUT) 2: Standard Error Output (STDERR) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard 键盘输入,并返回在前端 stdout(…

oracle xml中cdata,XML CDATA的作用

XML CDATA的作用更新时间&#xff1a;2009年09月01日 00:52:36 作者&#xff1a;当你用FLASH和xml结合做网站应用程序时&#xff0c;例如你做在我研究游戏排行榜中&#xff0c;当让人自由输入姓名时&#xff0c;人们可以输入一些符号&#xff0c;例如∶""、"/…

SQL登录 18470 18452 错误

18452&#xff0c;是验证模式没有选择混合模式。 对应方法&#xff1a; 设置允许SQL Server身份登录(基本上这个很有用) 操作步骤&#xff1a; 1。在企业管理器中&#xff0c;展开"SQL Server组"&#xff0c;鼠标右键点击SQL Server服务器的名称 2。选择…

android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏

概述 在很app上都见过 可折叠的顶部导航栏效果。google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果。效果图如下&#xff1a; 实现步骤 1. 写一个 CollapsingToolbarLayout&#xff0c;它有两个 子视图&#xff0c;一个就是上图显示的图片&#xff08;降落伞…

linux ssh服务端下载文件,Linux SSH服务端配置文件设置

一 SSH概述SSH 由 IETF 的网络小组(Network Working Group)所制定&#xff1b;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统…

注意扩展方法的返回值类型

public static IEnumerable<TSource> Where &#xff1a; IEnumerable<TSource> 类型转载于:https://www.cnblogs.com/changbaishan/p/3391842.html

使用GPUImage实现视频滤镜

关于GPUImage 这里直接引用官方描述&#xff1a;The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImag…

C 学习笔记 - 数组

在学习了 C 语言的数组之后&#xff0c;我发现 C 中的数组与 C# 中的数组除了书写形式上略有区别&#xff0c;其它的基本上都一模一样。 因为之前有 C# 的底子&#xff0c;所有学习 C 语言&#xff0c;感觉也挺轻松的&#xff0c;不过 C 和 C# 之前还是有很多不一样的地方&…

yunos5 linux内核,魅蓝5S、魅蓝5对比看差异 选Android还是YunOS?

原标题&#xff1a;魅蓝5S、魅蓝5对比看差异 选Android还是YunOS&#xff1f;几天前魅族发布了魅蓝5S&#xff0c;这款手机刚好2月20日上午10点开始销售&#xff0c;在魅族官方店和天猫都可以买到。作为新一代入门级手机&#xff0c;魅蓝5S最大得卖点恐怕就是加入了18W快充功能…

.net SerialPort

虚拟串口并定时向虚拟串口定时发数据http://scorpiomiracle.iteye.com/blog/653923C#中如何使用SerialPort控件向单片机发送数据&#xff1f;http://zhidao.baidu.com/question/206863745.html?frqrl&index2&qbltopic_question_2_2 转载于:https://www.cnblogs.com/su…

微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations

1. 综述 大多数程序里都会在Web.config里设置参数&#xff0c;并且在部署的时候需要更改。每次都手工更改这些配置很乏味&#xff0c;也容易出错。该章节将会告诉你如果通过自动化更新Web.config文件来避免这些问题。 2. Web.config Transformations 与Web Deploy Parameters 有…

linux嵌入式c网络编程,嵌入式Linux网络编程之:网络高级编程

本文引用地址&#xff1a;http://www.eepw.com.cn/article/257115.htm在实际情况中&#xff0c;人们往往遇到多个客户端连接服务器端的情况。由于之前介绍的如connet()、recv()和send()等都是阻塞性函数&#xff0c;如果资源没有准备好&#xff0c;则调用该函数的进程将进入睡眠…

myeclipse不编译

错误&#xff1a; org.eclipse.core.internal.registry.configurationElementHandle cannot be cast to org.eclipse.jdt.core.compiler.CompilationParticipant&#xff09; 解决&#xff1a; 关掉MyEclipse>把MyEclipse安装目录下的configuration中的update目录删掉>重…

eclipse配置PHP自动提示代码

为什么80%的码农都做不了架构师&#xff1f;>>> 配置php自动提示代码 &#xff08;html/js和PHP方法一样&#xff09; 1. 打开 Eclipse的 Window -> Preferences -> PHPeclipse -> PHP -> Code Assist 打开里面的Enable auto activation选项,下面有个…

Oracle 执行计划 提示 'PLAN_TABLE' is old version 解决方法

用set autotrace 或者 explain plan for 生成执行计划时&#xff0c;有如下提示&#xff1a;Note----- - PLAN_TABLE is old version导致这个错误的原因是曾经使用toad的执行计划分析过&#xff0c;所以执行了它自带的脚本生成了plan_table。解决办法&#xff0c;drop掉plan_…

C#磁盘遍历——递归

static void Main(string[] args){//创建秒表&#xff0c;记录查询的总时间Stopwatch timer new Stopwatch();timer.Start();//传入本地磁盘路径&#xff0c;遍历当前路径下的所有文件LoadDirectory("G:\传智播客.Net培训—就业班精品");timer.Stop();Console.Write…

linux卸载minicoda2,MiniConda2下载 MiniConda python 2.7 v4.3.30.2 Linux 64位 官方免费版(附安装步骤) 下载-脚本之家...

MiniConda python 2.7 Linux版是一款可以在Linux系统下使用的Python 环境管理工具&#xff0c;同时MiniConda是一个开源的软件包管理系统和环境管理系统&#xff0c;用于安装多个版本的软件包及其依赖关系&#xff0c;并在它们之间轻松切换&#xff0c;本次为大家提供的是Linux…

使用 python 操作 redis

1.安装pyredis &#xff08;1&#xff09;使用 # easy_install redis &#xff08;2&#xff09;直接编译安装 #wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz #tar xvzf redis-2.9.1.tar.gz #cd redis-2.9.1 #python setup.py install 2.简单的re…

android-XML解析Dom,Sax,Pull

android平台上解析xml的常见的工具有三种&#xff1a;dom,sax&#xff0c;pull。 第一种是DOM&#xff0c; 它的特点是一次全部加载&#xff0c;如果对于数据量小的情况下&#xff0c;它的效率还可以&#xff0c;如果XML文件很大的情况下&#xff0c;速度就会慢起来。 第二种方…