HDU1070

简单的模拟。

注意:在计算牛奶的平均价格时候,牛奶的体积必须是200的倍数且不比1000大。

a[ i ].before 存的是原体积

View Code
 1 #include<stdio.h>

 2 #include<string.h>

 3 #include<stdlib.h>

 4 #include<algorithm>

 5 using namespace std;

 6 const int maxn = 105;

 7 struct node{

 8     int price;

 9     int v,before;

10     double per;

11     int ok;

12     char name[ maxn ];

13 }a[ maxn ];

14 bool cmp( node a1,node a2 ){

15     if( a1.per!=a2.per )

16         return a1.per<a2.per;

17     else 

18         return a1.before>a2.before;

19 }

20 int main(){

21     int T;

22     scanf("%d",&T);

23     while( T-- ){

24         int n;

25         scanf("%d",&n);

26         for( int i=0;i<n;i++ ){

27             scanf("%s%d%d",a[ i ].name,&a[ i ].price,&a[ i ].v);

28             if( a[ i ].v<200 ) a[ i ].ok=-1;

29             a[ i ].before=a[ i ].v;

30             a[ i ].v=a[ i ].v-a[ i ].v%200;

31             a[ i ].v=min( 1000,a[ i ].v);

32             a[ i ].per=(1.0*a[ i ].price)/(1.0*a[ i ].v);

33             a[ i ].ok=1;

34         }

35         sort( a,a+n,cmp );

36         for( int i=0;i<n;i++ ){

37             if( a[ i ].ok==-1 ) continue;

38             printf("%s\n",a[ i ].name);

39             break;

40         }

41     }

42     return 0;

43 }

 

你可能感兴趣的:(HDU)