【杭电】[1070]Milk

这里写图片描述
这里写图片描述

依照可使用天数把价值转换为每天的价值
需要注意最多可放5天
所以容量很多时也只能以5天记

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node {
    char s[120];
    double p;
    int d;
} a[120];
bool cmp(node A,node B) {
    if(A.p==B.p)
        return A.d>B.d;
    else
        return A.p<B.p;
}
int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        int n;
        scanf("%d",&n);
        for(int i=0; i<n; i++) {
            scanf("%s %lf %d",&a[i].s,&a[i].p,&a[i].d);
            if(a[i].d<200)
                i--,n--;
            else {
                if(a[i].d/200<=5)
                    a[i].p/=a[i].d/200;
                else
                    a[i].p/=5;
            }

        }
        sort(a,a+n,cmp);
        printf("%s\n",a[0].s);
    }
    return 0;
}

题目地址:【杭电】[1070]Milk

posted @ 2016-07-18 18:16  BoilTask  阅读(10)  评论(0编辑  收藏  举报