Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12363 Accepted Submission(s): 3009
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 struct node 8 { 9 char name[105]; 10 double p,v; 11 }milk[105]; 12 double get_p(double p,double v) 13 { 14 if(v < 200) 15 return 0x7fffffff; 16 int d = (int)v / 200; 17 d = min(d,5); 18 return p / (double)d; 19 } 20 21 int main() 22 { 23 int T; 24 scanf("%d",&T); 25 while(T--) 26 { 27 int n; 28 scanf("%d",&n); 29 for(int i = 0;i < n;++i) 30 scanf("%s %lf %lf",milk[i].name,&milk[i].p,&milk[i].v); 31 int f = 0; 32 double ch = 0x7fffffff; 33 for(int i = 0;i < n;++i) 34 { 35 double pr = get_p(milk[i].p,milk[i].v); 36 if(abs(pr - ch) < 0.000001) 37 { 38 if(milk[i].v > milk[f].v) 39 f = i; 40 // printf("%s %lf\n",milk[i].name,pr); 41 } 42 else if(pr < ch) 43 { 44 f = i; 45 ch = pr; 46 // printf("%s %lf\n",milk[i].name,pr); 47 } 48 } 49 printf("%s\n",milk[f].name); 50 } 51 return 0; 52 }
原文:http://www.cnblogs.com/xiaxiaosheng/p/3597214.html