当前位置: 首页 > news >正文

hdu1009 FatMouse' Trade---贪心

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009

题意:一共有n个房子,每个房子里有老鼠喜欢吃的javabeans,但是每个房间里的javabeans的价格不一样。老鼠用m元,问m元最多可以卖多少javabeans,其中每个房间里的javabeans可以被分割。

直接求单价,排序即可

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<string>
 6 #include<cmath>
 7 #include<set>
 8 #include<queue>
 9 #include<map>
10 #include<stack>
11 #include<vector>
12 #include<list>
13 #include<deque>
14 #include<sstream>
15 #include<cctype>
16 #define REP(i, n) for(int i = 0; i < (n); i++)
17 #define FOR(i, s, t) for(int i = (s); i < (t); i++)
18 #define MEM(a, x) memset(a, x, sizeof(a));
19 #define DEBUG(x) cout<<x<<endl;
20 #define DBG cout<<"----------------"<<endl;
21 #define mid(x, y) x + (y - x)/ 2
22 #define lc o<<1
23 #define rc o<<1|1
24 using namespace std;
25 typedef int64_t INT;
26 typedef long long ll;
27 typedef unsigned long long ull;
28 typedef pair<int, int> Pair;
29 const int maxn = 1e3 + 10;
30 const double eps = 1e-10;
31 const int INF = 1 << 30;
32 const int dir[4][2] = {1,0,0,1,0,-1,-1,0};
33 const double pi = 3.1415926535898;
34 int T, n, m, cases;
35 struct node
36 {
37     double j, f;
38     bool operator < (const node& a)const
39     {
40         return (j / f) > (a.j / a.f);
41     }
42 };
43 node a[maxn];
44 int main()
45 {
46     while(cin >> m >> n)
47     {
48         if(m == -1 && n == -1)break;
49         memset(a, 0, sizeof(a));
50         for(int i = 0; i < n; i++)
51         {
52             cin >> a[i].j >> a[i].f;
53         }
54         sort(a, a + n);
55         double ans = 0;
56         for(int i = 0; i < n; i++)
57         {
58             if(m >= a[i].f)
59             {
60                 ans += a[i].j;
61                 m -= a[i].f;
62             }
63             else
64             {
65                 ans += (m * a[i].j / a[i].f);
66                 break;
67             }
68         }
69         printf("%.3f\n", ans);
70     }
71     return 0;
72 }

 

转载于:https://www.cnblogs.com/fzl194/p/8672882.html

相关文章:

  • android-------Java 常问的基础面试题
  • 网络爬虫练习
  • [离散时间信号处理学习笔记] 15. 模拟信号的数字处理
  • Python进阶细节
  • php rsa加密解密实例
  • BZOJ2599:[IOI2011]Race(点分治)
  • 泛型就这么简单
  • React Native模块加载与原理分析
  • Git 与each
  • .Net Core和.Net Standard直观理解
  • Webpack 4x 之路 ( 四 )
  • 解决centos7 docker1.9 没有配置文件
  • 使用原型模式来处理用户抽奖的银两明细
  • 云计算的三种服务模式:IaaS,PaaS和SaaS
  • 你不可错过的前端面试题(一)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【mysql】环境安装、服务启动、密码设置
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • java8-模拟hadoop
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS数组方法汇总
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • npx命令介绍
  • React+TypeScript入门
  • Sass 快速入门教程
  • Vultr 教程目录
  • 多线程 start 和 run 方法到底有什么区别?
  • 关于Flux,Vuex,Redux的思考
  • 开发基于以太坊智能合约的DApp
  • 前端性能优化——回流与重绘
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 微信小程序设置上一页数据
  • 小试R空间处理新库sf
  • 在Mac OS X上安装 Ruby运行环境
  • 在weex里面使用chart图表
  • 追踪解析 FutureTask 源码
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #HarmonyOS:基础语法
  • #QT项目实战(天气预报)
  • (a /b)*c的值
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (待修改)PyG安装步骤
  • (分布式缓存)Redis分片集群
  • (六)软件测试分工
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一一四)第九章编程练习
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • ****Linux下Mysql的安装和配置
  • .dwp和.webpart的区别
  • .net 4.0发布后不能正常显示图片问题
  • .NET delegate 委托 、 Event 事件