题意就是你有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. Java 后台sql注入

    JdbcTemplate.update(sql, ArrayList.toArray()) Connection conn = null; PreparedStatement ps = null; c ...

  2. 解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) 'utf-8' codec can't decode byte...)

    Vs2013中创建python文件,在文件中没输入中文时,编码为utf-8的,如图 接着,在里面输入几行中文后,再次用notepad++查看其编码如下,在vs下运行也报错(用cmd运行就不会): 根据 ...

  3. (一)初步了解python

    python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. Py ...

  4. 变形属性 transform

    transform功能可以实现文字或图像的旋转.绽放.倾斜.与移动: 注意点:1.其移动.旋转.倾斜.与绽放这4种效果的使用先后顺序不同,页面会显示不同的结果: 2.属性值有一个参数与有多个参数的别: ...

  5. [SOJ]连通性问题

    Description 关系R具有对称性和传递性.数对p q表示pRq,p和q是0或自然数,p不等于q.要求写一个程序将数对序列进行过滤,如果一个数对可以通过前面数对的传递性得到,则将其滤去.例如:输 ...

  6. 1、<img />标签

    alt:当图片不显示时的文字说明 title:鼠标悬停在图片上的出现的文字说明

  7. 用sql实现汉字转拼音

    有时我们会需要将汉字转为拼音,例如需要将省市转为拼音后当做编码存储(尽管国家有统一的标识码,但有时候我们还是会用到),网络上也有工具提供汉字转拼音的功能,但各有优劣,一般转拼音后还会存在带声调的字母, ...

  8. C 小问题集锦

    摘要:在学习 C 语言编程中遇到的一些容易混淆出错的问题,记录下来备忘. C语言学习 小问题集锦 作者:乌龙哈里 时间:2015-11-24 平台:Window7 64bit,C# :Visual S ...

  9. 写Java程序的三十个基本规则【新手必读】

    (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如:  ThisIsAClassName  this ...

  10. HTTP中的重定向和请求转发的区别

    原文出处:http://blog.csdn.net/meiyalei/article/details/2129120 一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: reque ...