zoukankan      html  css  js  c++  java
  • hdu 1009--greedy

    /** rief hdu 1009--greedy
     *
     * param date 2014/7/18
     * param state AC
     * 
    eturn
     *
     */
    
    #include <iostream>
    #include <fstream>
    #include <algorithm>
    #include <cstring>
    
    using namespace std;
    
    const int MAXN=1001;
    
    struct Data
    {
        int J;
        int F;
        /*
        bool operator < (const Data& d) const
        {
            return d.
        }
        */
        double price;
    };
    
    Data data[MAXN];
    
    
    bool Comp(const Data& a,const Data& b)
    {
        if(a.price>=b.price)
            return true;
        else return false;
    }
    
    
    //void Knapsack(int n,int m,int v[],int w[],int x[])
    void Knapsack(int n,int m)
    {
        //Sort(data,data+n,Comp);
        sort(data,data+n,Comp);
        int i;
        int c=m;
        double sum=0.0;
        for(i=0;i<n;i++)
        {
            if(c>=data[i].F)
            {
                c-=data[i].F;
                sum+=data[i].J;
            }
            else
            {
                sum+=c*1.0/data[i].F*data[i].J;
                c=0;
            }
        }
        printf("%.3f",sum);
        cout<<endl;
    }
    
    int main()
    {
        //freopen("input.txt","r",stdin);
        int M,N;
        while(scanf("%d%d",&M,&N)!=EOF)
        {
            if(M==-1 && N==-1)break;
            for(int i=0;i<N;i++)
            {
                //cin>>J[i]>>F[i];
                cin>>data[i].J>>data[i].F;
                data[i].price=data[i].J*1.0/data[i].F;
            }
            //
            Knapsack(N,M);
        }
        return 0;
    }
    

  • 相关阅读:
    iOS开源控件库收集
    Ruby中的几种除法
    Font
    PlaySound
    STL
    APIs
    cin and cout
    CreateWindow
    Introducing Direct2D
    VC 常用代码
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6737397.html
Copyright © 2011-2022 走看看