andre_joy

导航

hdu 1070

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1070

题意:主角要买牛奶,对牛奶的要求是生产日期5天内引用,每天喝200ml,少于200ml的扔掉,商场牛奶均是当天生产。

   选取满足要求的单价最小的牛奶,当单价一样,选择容量多的。

mark:wa了两次,都是精度问题,在整数问题里面最好不要用浮点数运算。(一般都是除法比较。)

代码:

#include <stdio.h>
#include <string.h>

int main()
{
    char m[100],d[100];
    int t,n,a,b,c,aa,bb,cc;
    scanf("%d", &t);
    while(t-- && scanf("%d", &n))
    {
        aa = 100000;
        cc = bb = 1;
        while(n-- && scanf("%s %d %d", m, &a, &b))
        {
            if(b < 200) continue;
            c = b/200 < 5 ? b/200 : 5;
            if(aa*c > a*cc)
            {
                aa = a;
                bb = b;
                cc = c;
                strcpy(d, m);
            }
            else if(aa*c == a*c && b > bb)
            {
                bb = b;
                strcpy(d, m);
            }
        }
        puts(d);
    }
    return 0;
}

posted on 2012-07-01 15:38  andre_joy  阅读(414)  评论(0编辑  收藏  举报