hdu2187 悼念512汶川大地震遇难同胞——老人是真饿了

直接排序,捡便宜的买!

View Code
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 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<m;i++)
26         {
27             scanf("%d%d",&mi[i].p,&mi[i].h);
28         }
29         qsort(mi,m,sizeof(node),cmp);
30         for(i=0;i<m;i++)
31         {
32                 if(n>=mi[i].p*mi[i].h)
33                 {
34                     sum=sum+mi[i].h;
35                     n=n-mi[i].p*mi[i].h;
36                 }
37                 else
38                 {
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上也有这么一个问题,当时错了,貌似是给的不是大米而是给的一个没有单价的物体,之后又给了单价!很多人都坑那了!!!!

原文地址:https://www.cnblogs.com/ACshasow/p/2713257.html