直接排序,捡便宜的买!
View Code
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 struct node 7 { 8 int p; 9 int h;10 };11 struct node mi[1001];12 int cmp(const void *a,const void *b)13 {14 return (*(node*)a).p>=(*(node*)b).p?1:-1;15 }16 int main()17 {18 int c,n,i,j,m;19 float sum;20 scanf("%d",&c);21 while(c--)22 {23 sum=0.0;24 scanf("%d%d",&n,&m);25 for(i=0;i =mi[i].p*mi[i].h)33 {34 sum=sum+mi[i].h;35 n=n-mi[i].p*mi[i].h;36 }37 else38 {39 sum=sum+n*1.0/mi[i].p;40 break;41 }42 43 }44 printf("%.2f\n",sum);45 }46 return 0;47 }
ps:貌似在poj上也有这么一个问题,当时错了,貌似是给的不是大米而是给的一个没有单价的物体,之后又给了单价!很多人都坑那了!!!!