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; }