标签:ble span mon str return 分享 space hdu bre
本题题意:有n元经费,每种大米,每种大米单价p,重量h,求最大重量.
代码如下:
#include <cstdio> #include <algorithm> using namespace std; struct Node { int p,h; bool operator<(const Node& node) { return p < node.p; } }; Node a[1000]; int main() { int C; scanf("%d",&C); while(C--) { int n,m; scanf("%d%d",&n,&m); for(int i=0;i<m;i++)scanf("%d%d",&a[i].p,&a[i].h); sort(a,a+m); double sum=0; int money=0; for(int i=0;i<m;i++) { if(money+a[i].p*a[i].h<=n){money+=a[i].p*a[i].h;sum+=a[i].h;} else {sum+=1.0*(n-money)/a[i].p;money=n;} if(money==n)break; } printf("%.2lf\n",sum); } return 0; }
这道题也是贪心,排序后选最便宜的把钱花光就行了.
hdu acm-step 1.3.5 悼念512汶川大地震遇难同胞——老人是真饿了
标签:ble span mon str return 分享 space hdu bre
原文地址:http://www.cnblogs.com/mtl6906/p/7392464.html