首页 > 其他 > 详细

HDU 4442 贪心

时间:2014-10-20 17:18:09      阅读:281      评论:0      收藏:0      [点我收藏+]

给出N个数,和每个数的a,b值

贪心思想,按a/b排序放置即可;


#include "stdio.h"
#include "string.h"
#include "algorithm"
using namespace std;

struct node
{
    int a,b;
    double c;
}data[100010];
__int64 inf=99999999999999;
__int64 Mod=365*24*60*60;

bool cmp(node a,node b)
{
    return a.c<b.c;
}
int main()
{
    int n,i;
    __int64 ans,temp;
    while (scanf("%d",&n)!=EOF)
    {
        if (n==0) break;
        for (i=0;i<n;i++)
        {
            scanf("%d%d",&data[i].a,&data[i].b);
            if (data[i].b==0) data[i].c=inf;
            else data[i].c=1.0*data[i].a/data[i].b*1.0;
        }
        sort(data,data+n,cmp);

        ans=temp=0;
        for (i=0;i<n;i++)
        {
            temp=ans;
            temp*=data[i].b;
            temp+=data[i].a;
            ans+=temp;
            ans%=Mod;
        }
        printf("%I64d\n",ans);

    }
    return 0;

}


HDU 4442 贪心

原文:http://blog.csdn.net/u011932355/article/details/40302633

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!