码迷,mamicode.com
首页 > 其他好文 > 详细

hdu acm-step 1.3.5 悼念512汶川大地震遇难同胞——老人是真饿了

时间:2017-08-18 23:47:48      阅读:141      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!