题意就是你有n和m两个上限 吃一个东西会同时增加两个东西 m的值不能超过给定的m 问最后的n m值和每个东西吃了多少

贪心一下就好了 算一下性价比 从最大的开始吃 直到吃满了m n也一定是最大了

只是想借这道题说一下经常卡题的小bug 因为这道题一开始卡精度 后来又卡除零 很诡异……

粗心bug小总结~

1.double除零是有返回值的 int除零才是RE 同时注意数据范围有没有0

2.精度可能要比题意中小一点

3.两组数据之间也有换行

4.两层for里i j用混了

5.define的用法

6.三目运算符可能会RE也可能超时

7.预处理数组时越界

8.case记得打

9.有的地方爆了int要用long long

(10.想起来再补充……)

贴代码

 #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<map>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
const double eps=1e-;
struct thing {
double z,m,ha,uh,val,sum,sum2,need;
} th[];
bool cmp(thing a,thing b) {
return a.ha*b.uh>a.uh*b.ha;
}
bool cmp1(thing a,thing b) {
return a.z<b.z;
}
int main() {
// printf("%f\n",1.0/0);
freopen("burrito.in","r",stdin);
freopen("burrito.out","w",stdout);
int n,a,b;
while(~scanf("%d%d%d",&n,&a,&b)) {
for(int i=; i<n; i++) {
th[i].z=i;
scanf("%lf%lf%lf",&th[i].m,&th[i].ha,&th[i].uh);
th[i].sum=th[i].m*th[i].ha;
th[i].sum2=th[i].m*th[i].uh;
th[i].need=;
}
sort(th,th+n,cmp);
double nowa=,nowb=;
for(int i=; i<n; i++) {
if(th[i].uh==) {
nowa+=th[i].sum;
th[i].need=th[i].m;
} else if(nowb+th[i].sum2>=b) {
if(nowb+th[i].sum2==b) {
th[i].need=th[i].m;
nowb+=th[i].sum2;
nowa+=th[i].sum;
} else {
th[i].need=(b-nowb)*1.0/th[i].uh*1.0;
nowa+=th[i].need*th[i].ha;
nowb=b;
}
break;
} else {
nowa+=th[i].sum;
nowb+=th[i].sum2;
th[i].need=th[i].m;
}
}
if(nowa<a-eps) printf("-1 -1\n");
else {
sort(th,th+n,cmp1);
printf("%.10lf %.10lf\n",nowa,nowb);
for(int i=; i<n; i++)
printf("%.10lf%c",th[i].need,i==n-?'\n':' ');
}
}
return ;
}
/* 2 5 5
2 2 1
2 2 4
2 5 5
2 2 2
2 2 4 */

Gym 100553B Burrito King 无脑背包的更多相关文章

  1. 【原】无脑操作:express + MySQL 实现CRUD

    基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...

  2. Go语言及Web框架Beego环境无脑搭建

    [原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...

  3. 【原】无脑操作:eclipse + maven搭建SSM框架

    网上看到一些Spring + Spring MVC + MyBatis框架的搭建教程,不是很详细或是时间久远了,自己动手整一个简单无脑的! 0.系统环境 1)Windows 10 企业版 2)JDK ...

  4. 计蒜客 无脑博士 bfs

    题目链接无脑博士的试管们 思路:直接模拟倒水过程即可,但是需要记忆判断当前的情况是否已经处理过.dfs和bfs都ok AC代码 #include <cstdio> #include < ...

  5. CodeForces 909E Coprocessor(无脑拓扑排序)

    You are given a program you want to execute as a set of tasks organized in a dependency graph. The d ...

  6. 【原】无脑操作:ElasticSearch学习笔记(01)

    开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...

  7. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限

    上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...

  8. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限

    开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...

  9. 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改

    Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子 ...

随机推荐

  1. Linked List - leetcode

    138. Copy List with Random Pointer //不从head走 前面加一个dummy node 从dummy走先连head 只需记录当前节点 //这样就不需要考虑是先new ...

  2. 安装Genymotion与集成eclipse,最后有集成android studio

    本安装过程从不用到VPN 一切国内网络都可以解决. 首先下载Genymotion,网址  https://www.genymotion.com/account/login/ 首先需要注册,我使用163 ...

  3. json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...

  4. 面向对象UML中类关系

    如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承:比如菱形.圆形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合.如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚 ...

  5. java模拟数据库缓存

    实现缓存一些数据到本地,避免重复查询数据库,对数据库造成压力,代码如下: package threadLock; import java.util.HashMap; import java.util. ...

  6. 第一百二十一节,JavaScript事件绑定及深入

    JavaScript事件绑定及深入 学习要点: 1.传统事件绑定的问题 2.W3C事件处理函数 3.IE事件处理函数 4.事件对象的其他补充 事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型) ...

  7. SSLv3协议、TLSv1.2协议配置不对导致javax.ws.rs.ProcessingException: java.net.SocketException: Connection reset

    SSl:Secure Sockets Layer 安全套接层 TLS:Transport Layer Security传输层安全 是为网络通信提供安全及数据完整性的一种安全协议.TLS与SSL在传输层 ...

  8. c#中命令copy已退出,返回值为1

    c#中命令copy已退出,返回值为1 本正经的道:董姐刚才你说的修心养性其中的'修心'我 有孕在身刚好由戴梦瑶顶替了她的位置按照的指示 ╋旆呆 湎术葶页 邾箕砜笳 烦璜卿廑 奶奶个腿儿的等下次非让你 ...

  9. 返回变量的类型VarType函数

    'vbEmpty 0 Empty(未初始化)'vbNull 1 Null(无有效数据)'vbInteger 2 整数'vbLong 3 长整数'vbSingle 4 单精度浮点数'vbDouble 5 ...

  10. Python---day5-各类模块的使用

    #_*_coding:utf-8_*_ 时间模块import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time() ...