hdu 1009 肥胖鼠 贪心(一) sort 排序函数

来源:互联网 发布:怎么看淘宝开店日期 编辑:程序博客网 时间:2024/04/30 00:31


#include<iostream>#include<iomanip>#include<algorithm>using namespace std;struct Trade{    int j,f;    double percent;}mouse[3001];bool cmp(Trade a,Trade b){    return a.percent>b.percent;}int main(){    int n,m;    while(cin>>m>>n&&(n!=-1||m!=-1))  // 括号不能玩丢了    {        int i;               for(i=0;i<n;i++)        {            cin>>mouse[i].j>>mouse[i].f;            mouse[i].percent=(double)mouse[i].j/mouse[i].f;        }        sort(mouse,mouse+n,cmp);        double sum=0;        for(i=0;i<n;i++)        {            if(m>mouse[i].f)                 {                     sum+=mouse[i].j;                     m-=mouse[i].f;                 }            else                //break;            {                sum+=mouse[i].percent*m; // m即所剩coffeeBean                m=0;                break;            }                                                   }              cout<<fixed<<setprecision(3)<<sum<<endl;  //保留三位小数           }    return 0;}