HDOJ 1009 FatMouse' TradeD
2016-03-08 22:40
113 查看
Problem Description
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.
Input
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.
Output
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.
Sample Input
Sample Output
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.
Input
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.
Output
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.
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// // main.cpp // FatMouse' Trade // // Created by 张嘉韬 on 16/3/8. // Copyright © 2016年 张嘉韬. All rights reserved. // #include <iostream> #include <cstring> #include <algorithm> const int maxn=1010; using namespace std; struct room { double j; double f; double a; }rooms[maxn]; int cmp(const void *a,const void *b) { return (*(room *)a).a>(*(room *)b).a?-1:1; } int main(int argc, const char * argv[]) { int m,n; while(scanf("%d%d",&m,&n)==2) { double sum=0; if(m==-1&&n==-1) break; else { for(int i=0;i<n;i++) { cin>>rooms[i].j>>rooms[i].f; rooms[i].a=rooms[i].j/rooms[i].f; } qsort(rooms,n,sizeof(rooms[0]),cmp); // for(int i=0;i<n;i++) cout<<rooms[i].a<<endl; for(int i=0;i<n;i++) { if(m>=rooms[i].f) { sum+=rooms[i].j; m=m-rooms[i].f; } else { sum+=rooms[i].a*m; //cout<<"("<<sum<<")"<<endl; break; } //cout<<"("<<sum<<")"<<endl; } //cout<<sum<<endl; printf("%.3f",sum); cout<<endl; } } return 0; }
相关文章推荐
- 【Unity优化(转)】Unity+NGUI性能优化方法总结(我项目组的做法)
- CouchBase简单介绍
- 转一篇关于epoll模型的博文
- JVM内存回收与分配
- iOS collectionView的多选---类似照片里的多选
- ibatis IN 查询处理
- ls 列出目标目录中所有的子目录和文件
- iOS 【rows = (count + maxCols - 1) / maxCols】
- 欢迎使用CSDN-markdown编辑器
- java设计模式——创建型之建造者模式
- 开始吧,骚年
- Add task bar to ubuntu
- 软件工程第一次作业 出题程序
- 数据结构之杨氏矩阵
- UVA12299 线段树水水水,但别乱开空间= =
- Matlab中的矩阵运算
- 递归打印XML文档树-使用w3cDOM模型解析
- LeetCode--181. Employees Earning More Than Their Managers
- JAVA面试题
- 【习题4】变量和命名【第5天】