现在的位置: 首页 > 综合 > 正文

hdu 4310 heros

2018年04月26日 ⁄ 综合 ⁄ 共 552字 ⁄ 字号 评论关闭

简单贪心

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
struct point
{
    int x,y;
    double bl;
}points[21];
int cp(const void *a,const void *b)
{
    struct point *c=(point *)a;
    struct point *d=(point *)b;
    if(c->bl<=d->bl) return 1;
    else return -1;
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            scanf("%d %d",&points[i].x,&points[i].y);
            points[i].bl=(double)points[i].x/points[i].y;
        }
        qsort(points,n,sizeof(points[0]),cp);
        int sum,sum1=0;
        for(int i=0;i<n;i++)
        {
            sum=0;
            for(int j=i;j<n;j++)
            {
                sum+=points[j].x;
            }
            sum*=points[i].y;
            sum1+=sum;
        }
        printf("%d\n",sum1);
    }
    return 0;
}

 

抱歉!评论已关闭.