hdu acm-step 1.3.5 悼念512汶川大地震遇难同胞——老人是真饿了
Posted mtl6906
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu acm-step 1.3.5 悼念512汶川大地震遇难同胞——老人是真饿了相关的知识,希望对你有一定的参考价值。
本题题意:有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汶川大地震遇难同胞——老人是真饿了的主要内容,如果未能解决你的问题,请参考以下文章
HDU 2189 ( 悼念512汶川大地震遇难同胞——来生一起走 )
hdu 2191 悼念512汶川大地震遇难同胞 多重背包(模板题)