L2-009 抢红包 (25 分)

开个桶进行统计,老套路了。

const int N=10010;
struct Node
{
    int id;
    int cnt;
    int money;
    bool operator<(const Node &W) const
    {
        if(money != W.money) return money > W.money;
        if(cnt != W.cnt) return cnt > W.cnt;
        return id < W.id;
    }
}a[N];
int n;

int main()
{
    cin>>n;

    for(int i=1;i<=n;i++)
    {
        a[i].id=i;
        int k;
        cin>>k;
        while(k--)
        {
            int x,v;
            cin>>x>>v;
            a[x].money+=v;
            a[x].cnt++;
            a[i].money-=v;
        }
    }

    sort(a+1,a+n+1);

    for(int i=1;i<=n;i++)
        printf("%d %.2f\n",a[i].id,a[i].money/100.0);

    //system("pause");
    return 0;
}
posted @ 2021-04-24 11:18  Dazzling!  阅读(78)  评论(0编辑  收藏  举报