Gym 100553B Burrito King 无脑背包
题意就是你有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 无脑背包的更多相关文章
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- Go语言及Web框架Beego环境无脑搭建
[原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...
- 【原】无脑操作:eclipse + maven搭建SSM框架
网上看到一些Spring + Spring MVC + MyBatis框架的搭建教程,不是很详细或是时间久远了,自己动手整一个简单无脑的! 0.系统环境 1)Windows 10 企业版 2)JDK ...
- 计蒜客 无脑博士 bfs
题目链接无脑博士的试管们 思路:直接模拟倒水过程即可,但是需要记忆判断当前的情况是否已经处理过.dfs和bfs都ok AC代码 #include <cstdio> #include < ...
- CodeForces 909E Coprocessor(无脑拓扑排序)
You are given a program you want to execute as a set of tasks organized in a dependency graph. The d ...
- 【原】无脑操作:ElasticSearch学习笔记(01)
开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限
上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...
- 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改
Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子 ...
随机推荐
- [MFC美化] MFC界面UI库总结
稍微说下自己用过的感受: 1.SkinMagic 动态库DLL使用,(有VC6版本的静态链接库,没能成功调用).对控件:菜单和下拉框(下拉滚动条)有问题.不能自由设置颜色背景 皮肤格式:.smf,可使 ...
- F4IF_FIELD_VALUE_REQUEST 和 F4IF_INT_TABLE_VALUE_REQUEST的不同
F4IF_FIELD_VALUE_REQUEST 和 F4IF_INT_TABLE_VALUE_REQUEST的不同 F4IF_FIELD_VALUE_REQUEST主要功能是将表里的字段对应的sea ...
- ecshop 分页小记
ecshop 分页是ajax请求的,必须在主文件里有个 act = query 处理,分页会请求这个act <?php //获取列表 if($_REQUEST['act']=='list'){ ...
- JS:JSP Servlet
Servlet 是在服务器上运行的小程序.这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行 ...
- oracle数据库 参数open_cursors和session_cached_cursor详解!
open_cursors 每个session(会话)最多能同时打开多少个cursor(游标) session_cached_cursor 每个session(会话)最多可以缓存多少个关闭掉的curso ...
- Python subprocess + timeout的命令执行
Popen对象 poll() 判断是否执行完毕,执行完毕返回0,未执行完毕返回None terminate() 终止进程发送SIGTERM信号 raise 自定义返回错误 import time im ...
- sql 函数 DATEADD 使用
DATEADD ( datepart , number, date ) 在日期中添加或减去指定的时间间隔. datepart 是规定应向日期的哪一部分返回新值的参数. number 为要增加或减去 ...
- Myeclipse10、Maven构建Javaweb项目
主要介绍如何使用 Myeclipse 10 构建 Maven Web 项目,关于 Maven 的介绍就略过了. 工具/原料 myeclipse apache-maven-3.1.0 方法/步骤 ...
- opencv3.1自带demo的介绍和运行操作。转载
opencv3.1自带demo的介绍和运行操作. 下列实验基本都试过,有些需要根据自己的电脑修改一些路径或者调试参数. 值得注意的是,控制台程序输入有时候要在图像所在的窗口输入相应的指令.我的电脑上安 ...
- CodeForces 566D 并查集集合合并
#include <stdio.h> #include <algorithm> #define MAX 100000 #define LL long long #define ...