HDU-1009-FatMouse' Trade
来源:互联网 发布:灯塔炒股软件 编辑:程序博客网 时间:2024/06/11 16:32
ACM模版
描述
题解
算法思想上就是一到十分简单的贪心……但是还是要为它点个赞~(≧▽≦)/~
因为我这种英语渣渣猛一看,以为是01背包/(ㄒoㄒ)/~~还好苦海无涯,我回头是岸,发现原来每个屋子里的咖啡豆量是可以分割的,所以直接求出每个房间的咖啡豆的性价比即可,然后排序贪心,然而,搞到这里,这么简单个题,我还是WA了,这也是我点赞的原因——卡精度了。题目最后要求输出的结果保留三位小数,所以我想当然的用了float
型,结果,精度不够,改成double
就AC了。
必须承认,这道题的数据很强很强了~~~第一次遇见卡精度卡到这种程度的(主要还是我太渣,没见识过世面)。
代码
#include <iostream>#include <algorithm>using namespace std;const int MAXN = 1010;struct room{ int J; int F; double value;} R[MAXN];bool cmp(room a, room b){ return a.value > b.value;}int main(int argc, const char * argv[]){ int M, N; while (cin >> M >> N && (M != -1 || N != -1)) { for (int i = 0; i < N; i++) { cin >> R[i].J >> R[i].F; R[i].value = R[i].J * 1. / R[i].F; } sort(R, R + N, cmp); double res = 0; for (int i = 0; i < N; i++) { if (R[i].F <= M) { res += R[i].J; M -= R[i].F; } else { res += R[i].value * M; break; } } printf("%.3lf\n", res); } return 0;}
0 0
- HDU 1009 FatMouse' Trade
- hdu 1009 FatMouse' Trade
- hdu 1009 FatMouse' Trade
- HDU 1009 - FatMouse' Trade
- HDU-1009 FatMouse' Trade
- hdu 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- hdu 1009 FatMouse' Trade
- HDU 1009 FatMouse' Trade
- HDU--1009--FatMouse' Trade
- hdu 1009 FatMouse' Trade
- hdu 1009 FatMouse' Trade
- HDU-1009 FatMouse' Trade
- HDU 1251 统计难题 【字典树】
- MySql的存储过程具体语法
- Mysql的存储过程
- 数据库索引的优缺点
- jdk1.8新特性
- HDU-1009-FatMouse' Trade
- Windows下面安装和配置MySQL(5.6.20)
- Valid Parentheses
- JS数组方法汇总/数组增删查改
- JDBC 之插入Blob(图片)& 批处理 & 数据库事务
- 利用word2vec对关键词聚类
- SQL 数据库 学习 024 查询-07 order by 的用法 --- 以某个字段排序
- docker筑基篇-01-docker基础命令及常用选项
- linux的sort基本使用