首页 > 代码库 > hdu1009
hdu1009
2017-07-14 18:18:31
- writer:pprp
- 介绍:hdu1009
- 题目介绍,详见hdu1009
- 代码如下
#include <iostream> #include <algorithm> #include <cstdio> #include<iomanip> using namespace std; const int maxn = 1010; class mouse { public: int j; int f; int divide; }; bool cmp(mouse m1,mouse m2) { if(m1.divide > m2.divide) return true; else return false; } int main() { int m,n; mouse mou[maxn]; while(cin >> m >> n && m != -1 && n != -1) { double lp = 0; for(int i = 0 ; i < n ; i++) { mou[i].f = 0; mou[i].j = 0; mou[i].divide = 0; } for(int i = 0 ; i < n ; i++) { cin >> mou[i].j>>mou[i].f; mou[i].divide = mou[i].j/mou[i].f; } sort(mou,mou+n,cmp); for(int i = 0 ; i <n ; i++) { if(m >= mou[i].f) { m -= mou[i].f; lp += mou[i].j; } else { lp += mou[i].j*(m/(double)mou[i].f); } } printf("%.3f\n",lp); } return 0; }
hdu1009
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。