FatMouse' Trade(杭电1009)
来源:互联网 发布:linux cst时间 编辑:程序博客网 时间:2024/06/05 19:09
FatMouse' Trade
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
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.
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 37 24 35 220 325 1824 1515 10-1 -1
Sample Output
13.33331.500
//本题是简单贪心问题,意思是老鼠有m榜猫粮,通过给猫粮东西data[i].b可以兑换data[i].a,求最多可以兑换多少食物。//只需将data[i].a/data[i].b的值从大到小排序即可求解。 #include<stdio.h>struct st{ double a; double b; double c;}data[1000];int main(){ int i,j,m,n; struct st data[1000],t; while(scanf("%d %d",&m,&n)&&(m!=-1||n!=-1)) { double sum=0.000; for(i=0;i<n;i++) { scanf("%lf %lf",&data[i].a,&data[i].b); } for(i=0;i<n;i++) { for( j=i+1;j<n;j++) { if((data[i].a/data[i].b)<data[j].a/data[j].b) { t=data[i]; data[i]=data[j]; data[j]=t;} } } for(i=0;i<n;i++) { if(m-data[i].b>=0.001) { sum+=data[i].a; m-=data[i].b; } else { sum=sum+m*data[i].a/data[i].b; break; } } printf("%.3lf\n",sum); } return 0;}
0 0
- FatMouse' Trade(杭电1009)
- 杭电1009-FatMouse' Trade(贪心)
- 杭电1009 FatMouse' Trade
- 杭电1009 FatMouse' Trade
- 杭电1009-FatMouse' Trade
- 杭电 1009 FatMouse' Trade
- 杭电 1009 FatMouse' Trade
- 杭电1009--FatMouse' Trade
- 杭电 1009 FatMouse' Trade
- 【杭电1009】FatMouse' Trade
- 杭电-1009 FatMouse' Trade
- 【杭电1009】FatMouse' Trade
- 【杭电 1009】 FatMouse' Trade
- 【杭电】[1009]FatMouse' Trade
- 杭电1009 FatMouse' Trade
- 杭电 FatMouse' Trade
- 杭电-FatMouse' Trade
- 杭电 FatMouse' Trade
- 我家的网络
- win8 vmware10.0下安装centos报VT-X未开启的解决方法
- 程序之美
- UVA - 10129 Play on Words
- Qt for ios开发:iPhone锁屏后解锁,发现软件无法与服务器通信
- FatMouse' Trade(杭电1009)
- CheckStyle报错的常见问题及解决方式
- QEMU代码中的QLIST
- KMP算法详解
- BroadcastReceiver类
- 枚举
- Topcoder SRM 152 Div2 1000(状态压缩呀)
- html5,css3,Javascript,JQuery学习分享平台和教程
- HDU-1237-简单计算器