题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=1864

这题开始题意没搞清楚,就做题了,导致浪费了很多的时间,不应该啊,

注意事项:每张发票上,单项物品的价值不得超过600元,这里要小心,就是说    2  A:450  A:200  这张票是不能报销的  它为650了,

开始我没想到他会有这样的数据,这次还犯了一个低级错误,dp竟然没有初始化,这样的错误不能犯啊!

还有对于小数的处理我是直接乘以100的, 不知哪位高人有更好的办法,还请多多指点,

代码

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;

int dp[3000005];

int main(void)
{
int i,j,k;
double q,s,s1,s2,s3;
int n,m;
char c;
double p;
int v[35];
while(scanf("%lf%d",&q,&n)==2&&n)
{
k=0;
memset(dp,0,sizeof(dp));
int q1=q*100;
for(i=0;i<n;i++)
{
int ok=0;
s=0; s1=0; s2=0; s3=0;
scanf("%d",&m);
for(j=0;j<m;j++)
{
getchar();
scanf("%c:%lf",&c,&p);
if(c=='A')
{
s1=s1+p;
}
else if(c=='B')
{
s2=s2+p;
}
else if(c=='C')
{
s3=s3+p;
}
else
{
ok=1;
break;
}
}
s=s1+s2+s3;
if(s1<=600&&s2<=600&&s3<=600&&s<=1000&&ok==0)
{
v[k++]=s*100;
}
}
for(i=0;i<k;i++)
{
for(j=q1;j>=v[i];j--)
{
dp[j]=max(dp[j],dp[j-v[i]]+v[i]);
}
}
printf("%.2lf\n",(double)dp[q1]/100);
}
return 0;
}

参数
234MS 12100K 1397 B

HDU-1864-最大报销额的更多相关文章

  1. HDOJ(HDU).1864 最大报销额 (贪心)

    HDOJ(HDU).1864 最大报销额 题意分析 题目有点问题,原题中说的 单项物品的价值不得超过600元 应该是单类物品的价值不能超过600元. 一开始以为是01背包,后来按贪心写过了. 一张一张 ...

  2. HDU 1864 最大报销额 0-1背包

    HDU 1864 最大报销额 0-1背包 题意 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上, ...

  3. HDU 1864最大报销额 01背包问题

    B - 最大报销额 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit St ...

  4. HDU 1864 最大报销额(DP)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1864 题目: 最大报销额 Time Limit: 1000/1000 MS (Java/Others) ...

  5. DP专题训练之HDU 1864 最大报销额

    做DP一定要注意数组的大小,嗯,就是这样~ Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过10 ...

  6. HDU -1864最大报销额(01背包)

    这道题属于简单的01背包,但是背包问题还算简单,就是前面的细节处理的时候要注意,题意大致说了三条限制吧 1. 只有a, b, c 三种类型的发票可以报销,其它的一律不报销 2. 物品单项的报销额不超过 ...

  7. HDU 1864最大报销额(一维背包)

    题目地址:HDU 1864 刚上来看着挺麻烦的..细致看了看原来好简单好简单...仅仅要去掉一些不符合要求的发票,剩下的就是最简单的背包问题了..对于小数问题,仅仅要*100就变成整数了. 代码例如以 ...

  8. hdu 1864 最大报销额【01背包】

    题目链接:https://vjudge.net/problem/HDU-1864 题目大意: 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求 ...

  9. hdu 1864 最大报销额 01背包

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  10. hdu 1864 最大报销额(背包)

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

随机推荐

  1. PhoneGap学习(一)

    1. 配置要求 Eclipse 3.4+ 这里提供一个不需要Eclipse的Terminal版本教程 2. 安装 SDK + PhoneGap 下载安装Eclipse Classic 下载安装 And ...

  2. 【hihoCoder 第133周】2-SAT·hihoCoder音乐节

    http://hihocoder.com/contest/hiho133/problem/1 2-sat模板...详细的题解请看题目里的提示. tarjan模板打错again致命伤qwq #inclu ...

  3. Firebug Console 与命令行全集

    Console API 当打开 firebug (也包括 Chrome 等浏览器的自带调试工具),window 下面会注册一个叫做 console 的对象,它提供多种方法向控制台输出信息,供开发人员调 ...

  4. iOS WebView的用法

    一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFr ...

  5. php CI 实战教程:如何去掉index.php目录

    Windows下自由创建.htaccess文件的N种方法 .htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录.站点的访问控制,当然最多的 ...

  6. C# DateTime变量不能赋null值

    使用定时器的时候: DateTime aimtime=DateTime.Now.AddSeconds(1); CheckTimer() { if(DateTime.Now.CompareTo(aimt ...

  7. Nginx负载均衡和Keepalived的安装设置

    一.Nginx设置负载均衡 (1)upstream的配置 http { upstream backend { #这里设置后台分发的服务器族群,有多少个可以添加,同时设置查询策略 server 192. ...

  8. [Unity]Unity开发NGUI代码实现ScrollView(放大视图)

    Unity开发NGUI代码实现ScrollView(放大视图) 下载NGUI包 导入NGUI3.9.1版本package 创建MainCameraScript.cs脚本 MainCameraScrip ...

  9. MySQL show status命令参数

    Aborted_clients         由于客户没有正确关闭连接已经死掉,已经放弃的连接数量.   Aborted_connects 尝试已经失败的MySQL服务器的连接的次数.   Binl ...

  10. SpringJDBC学习之路(1)

    本人从事java开发也有一段时间了,项目开发也有好几个.但感觉所有写的代码无非就是搬数据取数据.service层写的逻辑多一点,最近做的一个项目整个项目的结构以及层次发现代码过于臃肿冗余.同样一个方法 ...