hdu1864最大报销额(01背包)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=187#problem/G
该题要注意的就是每张单子A种类的总和不能大与600,同样B,C类也一样,还有注意如果不是A,B,C类的不可以报销;
该题就是要把浮点型变成整数这样才能用01背包,这里就只要乘以100就可以了。
这题考的背包很简单,就是输入的金额为背包的容积,债券既是物体的体积又是物体的利润。就是处理输入的数据有点麻烦,这是我所不擅长的。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int dp[],w[];
int main()
{
int n,V,m,flag,tt;
double sum,price;
char c;
while(scanf("%lf%d",&sum,&n)!=EOF)
{
if(n==) break;
sum=sum*;
V=(int)sum;
tt=;
int t,ta=,tb=,tc=,x;
for(int i=;i<=n;i++)
{
sum=;
ta=,tb=,tc=;
scanf("%d",&m);
flag=;
while(m--)
{
scanf("%*c%c:%lf",&c,&price);
price=price*;
x=(int)price;
if(flag==)
{
if((c=='A')||(c=='B')||(c=='C'))
{
if(c=='A'&&ta+x<=)
{
ta=ta+x;
}
else if(c=='B'&&tb+x<=)
{
tb=tb+x;
}
else if(c=='C'&&tc+x<=)
{
tc=tc+x;
}
else flag=;
}
else flag=;
}
}
t=ta+tb+tc;
if(flag==&&t<=)
{
w[tt++]=t;
}
}
memset(dp,,sizeof(dp));
for(int i=;i<tt;i++)
{
for(int j=V;j>=w[i];j--)
{
if(dp[j-w[i]]+w[i]>dp[j])
dp[j]=dp[j-w[i]]+w[i];
}
}
double money=dp[V]/100.0;
printf("%.2lf\n",money);
}
return ;
}
hdu1864最大报销额(01背包)的更多相关文章
- HDU1864 最大报销额 01背包
非常裸的01背包,水题.注意控制精度 #include <iostream> #include <algorithm> #include <cstdio> #inc ...
- HDU 1864 最大报销额 0-1背包
HDU 1864 最大报销额 0-1背包 题意 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上, ...
- 九度OJ 1025 最大报销额(01背包)
题目1025:最大报销额 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2683 解决:608 题目描述: 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具( ...
- HDU -1864最大报销额(01背包)
这道题属于简单的01背包,但是背包问题还算简单,就是前面的细节处理的时候要注意,题意大致说了三条限制吧 1. 只有a, b, c 三种类型的发票可以报销,其它的一律不报销 2. 物品单项的报销额不超过 ...
- HDOJ 1864 最大报销额(01背包)
http://acm.hdu.edu.cn/showproblem.php?pid=1864 最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memor ...
- 杭店 ACM 1864 最大报销额 01背包
![勾选C++才能过 题意: 先规定可以报销一定额度的发票,物品类型有A,B,C,三种.要求每张发票总额不得超过1000元,单项物品不得超过600.求报销的最大额 分析: 先找到合格的发票,然后再挑选 ...
- hdu 1864 最大报销额 01背包
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- HDU 1864 最大报销额(01背包,烂题)
题意:被坑惨,单项不能超过600,其实是一张发票上A类/B类/C类的总和分别不能超过600. 思路:此题的数据很烂.用贪心也能过,用01背包也可以.都测试不出到底那些是错的. #include < ...
- hdu1864最大报销额 01
先把小数乘100变成整数然后处理每个发票里面可以报销的 最后自底向上DP #include <stdio.h> #include <algorithm> #include &l ...
随机推荐
- Linux设备驱动剖析之SPI(二)
957至962行,一个SPI控制器用一个master来描述.这里使用SPI核心的spi_alloc_master函数请求分配master.它在drivers/spi/spi.c文件中定义: struc ...
- thinkphp5.0 输入变量
可以通过Request对象完成全局输入变量的检测.获取和安全过滤,支持包括$_GET.$_POST.$_REQUEST.$_SERVER.$_SESSION.$_COOKIE.$_ENV等系统变量,以 ...
- Git学习(一)(2015年11月12日)
环境:win10 已安装git工具(如未配置环境变量需先配置环境变量) 如何配置环境变量:.我的电脑-属性-高级系统设置-环境变量-系统变量 找到path然后在变量值结尾增加路径: ;C:\Progr ...
- 【转载】C#调用C++ DLL
using System; using System.Collections.Generic; using System.Linq; using System.Text; //1. 打开项目“Tzb” ...
- 使用SQL Server 2005作业设置定时任务【转】
1.开启SQL Server Agent服务 使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行. 以下步骤开启服务:开始-->>>运行--&g ...
- css3整理--border-image
border-image语法: border-image : none | <image> [ <number> | <percentage>]{1,4} [ / ...
- C# 调用存储过程出错:String[3]: Size 属性具有无效大小值 0
存储过程如下 Create PROCEDURE [dbo].[Test] @FundId int, @vchStrategyToken nvarchar(), @ErrorMessage nvarch ...
- DependencyProperty属性介绍
1 DependencyProperty从属属性 1. 从属属性要定义为静态.为了在外部可以绑定,最好定义为Public 2. 从属属性实际上是取代了正常属性的存值变量 3. ...
- U盘安装Centos7.1操作系统的问题记录
需要的软硬件环境>>>>>>>>>>>>>>>>>1.服务器(笔者用的笔记本).U盘2.Cento ...
- 9.21 form 和Ajax详解
form 表单 参考连接 : http://www.cnblogs.com/liwenzhou/p/8747872.html