HDOJ 1070

不知道为什么过不了???

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

struct Milk
{
    string name;
    double price;
    int vlm;
    int ok;
    double GDG;
    int day;
}M[103];

int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int m;
        cin>>m;
        for(int j=0;j<m;j++)
        {
            M[j].day=0;
            M[j].ok=1;
            cin>>M[j].name>>M[j].price>>M[j].vlm;
            if(M[j].vlm>1000)  M[j].vlm=1000;
            if(M[j].vlm<200)   M[j].ok=0;

            M[j].day=M[j].vlm/200;

            M[j].GDG=M[j].price/M[j].day;

        }

        double min=999999.99;

        int p;

        for(int k=0;k<m;k++)
        {
            if(M[k].ok==1)
            {
                if(M[k].GDG-min<1e-8)
                {
                    min=M[k].GDG;
                    p=k;
                }
                else if(fabs(M[k].GDG-min)<1e-8)
                {
                    if(M[k].vlm-M[p].vlm>1e-8)
                    {
                        p=k;
                    }
                }
            }

            //cout<<M[k].day<<" "<<M[k].GDG<<endl;
        }


        cout<<M[p].name<<endl;

    }

    return 0;
}

原文地址:https://www.cnblogs.com/CKboss/p/3351111.html