hdu 1009 FatMouse' Trade
来源:互联网 发布:python yield 详解 编辑:程序博客网 时间:2024/06/06 03:56
Sample Input
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
Sample Output
13.333
31.500
#include <iostream>#include <vector>#include <iomanip>#include <algorithm>using namespace std;struct FoodTrade{int catFood;int javaBean;double rate;};bool cmp(FoodTrade x, FoodTrade y){return x.rate > y.rate;}class FatMouseTrade{public:void initialize();void readCase(const int& m, int& n);void compute();void output();private:int catFood;vector<FoodTrade> foodTrade;double amount;};void FatMouseTrade::initialize(){catFood = 0;amount = 0;foodTrade.clear();}void FatMouseTrade::readCase(const int& m, int& n){catFood = m;while(n--){FoodTrade food;cin >> food.javaBean >> food.catFood;food.rate = static_cast<double>(food.javaBean) / food.catFood;foodTrade.push_back(food);}}void FatMouseTrade::compute(){sort(foodTrade.begin(), foodTrade.end(), cmp);for(int i = 0; i < foodTrade.size() && catFood != 0; ++i){if(catFood < foodTrade[i].catFood){amount += foodTrade[i].rate * catFood;catFood = 0;}else{catFood -= foodTrade[i].catFood;amount += foodTrade[i].javaBean;}}}void FatMouseTrade::output(){cout << setprecision(3) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << amount << endl;}int main(){FatMouseTrade fatMouseTrade;int m, n;while(cin >> m >> n && m != -1 && n != -1){fatMouseTrade.initialize();fatMouseTrade.readCase(m, n);fatMouseTrade.compute();fatMouseTrade.output();}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
- oracle判断是否包含字符串的方法
- OC runtime学习笔记二
- SpringMvc生成验证码
- 初学DEDECMS的经历
- 在中国linux安装go语言的方式
- hdu 1009 FatMouse' Trade
- 安卓关于不同屏幕大小的解决方案-支持多屏
- WCF传输协议
- 【Android】使用 Eclipse 给 APK 签名时遇到的两个问题及解决办法
- static关键字
- MMU工作原理
- 监控flash_recovery_area的使用情况
- post processor和aware
- 顶尖电商网站的设计趋势