FatMouse' Trade(贪心)
来源:互联网 发布:游戏编程设计学校 编辑:程序博客网 时间:2024/06/08 04:31
题意:给出两个数以及两个序列,第一个序列是能获得的最大价值,第二个序列是获得这个价值需要的付出,求最大价值。
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009
思路:求每个的“性价比”,每次取性价比最高的那个,取完就置为0。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>using namespace std;double javabean[1100];double pays[1100];double deserve[1100];int main(){ double n,m; while(cin >> m >> n) { if(n == -1 && m == -1) break; for(int i=0; i<n; i++) { scanf("%lf%lf",&javabean[i], &pays[i]); deserve[i] = javabean[i]/pays[i]; } double sum=0; while(m) { double maxn = 0; int k; for(int i=0; i<n; i++) { if(maxn <= deserve[i]) { k = i; maxn = deserve[i]; } } if(maxn) { if(m >= pays[k]) { sum += javabean[k]; m -= pays[k]; deserve[k] = 0; } else { sum += deserve[k]*m; m = 0; //全部用来取这个了 } } else break; } printf("%.3f\n",sum); //此处在codeblocks上不能用%lf,答案会全部是0.000 } return 0;}
0 0
- FatMouse' Trade(贪心)
- FatMouse' Trade(贪心)
- FatMouse' Trade(贪心算法)
- HDU1009 - FatMouse' Trade (贪心)
- HDOJ1019 FatMouse' Trade(贪心)
- hdu 1009 FatMouse' Trade(贪心)
- HDU1009 FatMouse' Trade(经典贪心)
- HDU 1009 FatMouse' Trade(经典贪心)
- HDOJ - 1009 - FatMouse' Trade(贪心)
- HDU 1009:FatMouse' Trade(简单贪心)
- hdu 1009 FatMouse' Trade (水题,贪心)
- ACM——FatMouse' Trade(贪心)
- ZOJ 2109 FatMouse's Trade(贪心)
- HDU 1009 FatMouse' Trade(贪心)
- 杭电1009-FatMouse' Trade(贪心)
- hdu1009 FatMouse' Trade(贪心水)
- hdu 1009 FatMouse' Trade(贪心)
- 【HDU-oj]-1009-FatMouse' Trade(贪心)
- HDOJ 1576 A/B(拓展欧几里得)
- Javascript处理表单的相关操作
- Java内存区域
- hibernate 数据库查询 实例
- Android TV 的开发者模式的打开,Android TV模拟器的开发者模式打开
- FatMouse' Trade(贪心)
- 八大排序算法
- 手机基本网络协议制式
- mysql------存储过程
- 如何使用vsphere client 克隆虚拟机
- ParalleX OS 补充设计草稿
- ios developer tiny share-20160805
- android中clip的使用
- PAT 1065. A+B and C (64bit) (20)