博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-1864 最大报销额
阅读量:4123 次
发布时间:2019-05-25

本文共 1724 字,大约阅读时间需要 5 分钟。

#include 
#include
#include
#include
using namespace std;const int q_max = 1000 * 30 * 100 + 5;const int n_max = 30 + 5;double dp[q_max];double abc[3];double price[n_max];int price_temp[n_max];double q;int q_temp;int n, m;char letter;double value, sum;int flag, pos;void DP(){ memset(dp, 0, sizeof(dp)); for(int i = 0; i < pos; i ++) price_temp[i] = price[i] * 100; q_temp = q * 100; for(int i = 0; i < pos; i ++) for(int j = q_temp; j >= price_temp[i]; j --) dp[j] = max(dp[j], dp[j - price_temp[i]] + price_temp[i]);}int main(){ while(~scanf("%lf %d", & q, & n)) { if(!n) break; memset(price, 0, sizeof(price)); pos = 0; for(int i = 0; i < n; i ++) { scanf("%d", & m); flag = 1; memset(abc, 0, sizeof(abc)); sum = 0; while(m --) { scanf(" %c:%lf", & letter, & value); sum += value; if(letter != 'A' && letter != 'B' && letter != 'C') { flag = 0; continue; } abc[letter - 'A'] += value; if(sum > 1000 || abc[letter - 'A'] > 600) flag = 0; } if(flag) { price[pos] = sum; pos ++; } } DP(); printf("%.2f\n", dp[q_temp] * 1.0 / 100); } return 0;}

题意:

(摘自 键盘上的舞者)

先给出最大的报销额和发票的张数,然后下面是n张发票,每张发票先给出发票上物品的个数,然后给出每种物品和物品的价格

注意:

1.只有a,b,c三种物品可以报销,含有其他物品的发票作废

2.单样物品的价值不能超过600

3.每张发票总价值不能超过1000

输出最大价值

题解:

将所有的小数化为整数,这样就成了最基础的0-1背包问题。但是判断的时候要小心…就因为中间判断郁闷到现在。

转载地址:http://qctpi.baihongyu.com/

你可能感兴趣的文章
Java编程中“为了性能”需做的26件事
查看>>
浅谈android中的目录结构
查看>>
突发灵感,看到某网站的搞笑图片挺多,做了一个小java,扫描抠了一些
查看>>
android开发环境安装(MyEclipse8.6+JDK+ADT16)
查看>>
Android 服务器推送技术
查看>>
androidpn 作为Android推送方案存在的问题
查看>>
oracl 数据库中查询当前时间前几天的数据
查看>>
weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar
查看>>
struts2开发时通过interceptor拦截器实现输入数据过滤前后空格的功能
查看>>
java 中系统参数说明
查看>>
orcale 插入大量数据时出的问题
查看>>
JS 用JS实现跟随光标的提示
查看>>
优秀程序员的十个习惯
查看>>
JS 网页中一个控件变化,其他的都不可读
查看>>
JSP 页面中对Cookie的操作
查看>>
Ajax (部分二:prototype.js代码后半部分)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...
查看>>
Ajax (部分二:prototype.js代码前半部)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...
查看>>
Ajax (部分一)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...
查看>>
JS 横向图片跑马灯效果
查看>>
JS 屏蔽按键效果和改变按键效果
查看>>