hdu Hero 4310 贪心果品 多校联合赛(二)第一题

hdu Hero 4310 贪心水果 多校联合赛(二)第一题

这道题贪心水过的,dp的方法有待研究,我好水啊!!!

就是排序,在cmp里加一哥a.x*b.y>a.y*b.x

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct node{
    int x,y;
}a[25];
bool cmp(node a,node b){
    if(a.x*b.y==a.y*b.y)
        return a.y<b.y;
    return a.x*b.y>a.y*b.x;
}
int main(){
    int n,x,y;
    while(~scanf("%d",&n)){
        for(int i=0;i<n;i++){
            scanf("%d%d",&x,&y);
            a[i].x=x;
            a[i].y=y;
        }
        sort(a,a+n,cmp);
        int sum=0;
        for(int i=0;i<n;i++){
            for(int j=i;j<n;j++)
            sum+=a[j].x*a[i].y;
        }
        printf("%d\n",sum);
    }
}