九度OJ 1433 贪心算法
来源:互联网 发布:一致性哈希算法php 编辑:程序博客网 时间:2024/05/22 02:02
题目链接:http://ac.jobdu.com/problem.php?pid=1433
- 题目描述:
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.
The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get J[i]* a% pounds of JavaBeans if he pays F[i]* a% pounds of cat food. Here a is a real number. Now he is assigning this homework to you: tell him the maximum amount of JavaBeans he can obtain.
- 输入:
The input consists of multiple test cases. Each test case begins with a line containing two non-negative integers M and N. Then N lines follow, each contains two non-negative integers J[i] and F[i] respectively. The last test case is followed by two -1's. All integers are not greater than 1000.
- 输出:
For each test case, print in a single line a real number accurate up to 3 decimal places, which is the maximum amount of JavaBeans that FatMouse can obtain.
- 样例输入:
5 37 24 35 220 325 1824 1515 10-1 -1
- 样例输出:
13.33331.500
所谓贪心算法说得最简单就是每次都取当前最好的情况。这题就是简单的贪心算法实例,每次都取性价比高的买,直到没钱了为止。
#include <stdio.h>#include <algorithm>using namespace std;struct Food{double quality;double value;double ratio;}buf[1000];bool cmp(Food a,Food b){return a.ratio>b.ratio;}int main(){int n;double m;while(scanf("%lf%d", &m,&n)!=EOF){if(m==-1&&n==-1)break;for(int i=0;i<n;i++){scanf("%lf%lf",&buf[i].quality,&buf[i].value);buf[i].ratio=buf[i].quality/buf[i].value;}double recFood=0;sort(buf,buf+n,cmp);for(int i=0;i<n;i++){if(m>=buf[i].value){recFood+=buf[i].quality;m-=buf[i].value;} else{recFood+=buf[i].ratio*m;break;}}printf("%.3lf\n",recFood);}return 0;}
- 九度OJ 1433 FatMouse -- 贪心算法
- 九度OJ 1433 贪心算法
- 九度OJ 1082 代理服务器 -- 贪心算法
- 九度OJ 1433 FatMouse(贪心)
- 【九度OJ】1038【贪心】
- 九度oj 1437 贪心
- 九度OJ 1172:哈夫曼树 (贪心)
- 九度OJ 1463 贪心算法、优先队列、运算符重载之《招聘会》
- 九度OJ 1437 To Fill or Not to Fill -- 贪心算法
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
- 九度OJ 1437 To Fill or Not to Fill ( 贪心算法)
- 九度OJ 1437 To Fill or Not to Fill -- 贪心算法
- 九度oj 1433
- 九度题目1433:FatMouse(贪心算法)
- 九度OJ 1107:搬水果 (贪心)
- 贪心算法与DFS:九度OJ1030
- oj 75 贪心算法
- 【九度OJ】1035【Floyd算法】
- ubuntu下sdk Manager没有Options选项 如果没有创建改文件
- IOS BLE_peripheralManager 类参考
- Win7能上网,Ubuntu 不能上网 解决方法
- 安装wind river on-chip debug工具
- oracle导入dmp文件命令
- 九度OJ 1433 贪心算法
- jquery扩展函数详解
- Media Foundation学习笔记(六)Media Foundation的架构 Media Session
- DOM加载——缓解图片,影音加载慢影响内容显示
- CMake find_package for OpenCV
- 控制输出精度
- 『算法学习笔记』11th day. 文件操作<2>
- 执行计划中各个字段的含义描述及获取方法
- 线程同步