FatMouse's trade

来源:互联网 发布:mysql utf8 utf8mb4 编辑:程序博客网 时间:2024/06/06 00:55

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

5 37 24 35 220 325 1824 1515 10-1 -1
 

Sample Output

13.33331.500
#include<cstdio>#include<algorithm>using namespace std;struct sa  {       //结构体,即data数组        double j;  // 兑换javabeen 的数量       double f;  // 猫食的数量       double awk; // f[i]/j[i]的比值} data[2002] ;     int comp(const sa &a,const sa &b) //const是关键字,限定一个变量不许被改变。安全性和可靠性{ return (a.awk > b.awk);   //降序排列  compare }int main(){       int m,n; //m:实际猫食  n:房间 (n组实例,j,f)     double max; //能够换取的javabeen         while(scanf("%d%d",&m,&n)!=EOF && (m != -1) && (n != -1))     {     max = 0.0;     int i;     for(i=0;i<n;i++)     {      scanf("%lf%lf",&data[i].j,&data[i].f);      data[i].awk=data[i].j/data[i].f;     }          sort(data,data+n,comp); //降序排列 ,换取效益从小到大         for(i=0; i<n; i++)   //排序后直接兑换      {    if(m >= data[i].f)  //如果还有猫食     {     max += data[i].j;       m -= data[i].f;    }    else    {     max += m*data[i].awk;      break;    }     }          printf("%.3lf\n",max);    }    return 0;}
原创粉丝点击