美文网首页
团体程序设计天梯赛题解——L2-009 抢红包

团体程序设计天梯赛题解——L2-009 抢红包

作者: 一只特立独行的程序猿 | 来源:发表于2019-03-28 20:33 被阅读0次

    https://pintia.cn/problem-sets/994805046380707840/problems/994805066890854400

    AC代码:

    #include<bits/stdc++.h>

    using namespace std;

    struct per {

        int id;

        int p;

        int cnt;

    } h[10100];

    bool cmp(per a, per b) {

        if(a.p == b.p) {

            if(a.cnt == b.cnt) {

                return a.id < b.id;

            } else {

                return a.cnt > b.cnt;

            }

        } else

            return a.p > b.p;

    }

    int main() {

        int k;

        for(int i = 0; i < 10100; i++) {

            h[i].id = i;

            h[i].p = 0;

            h[i].cnt = 0;

        }

        cin >> k;

        for(int i = 1; i <= k; i++) {

            int m;

            cin >> m;

            for(int j = 0; j < m; j++) {

                int id, x;

                cin >> id >> x;

                h[id].p += x;

                h[i].p -= x;

                h[id].cnt++;

            }

        }

        sort(h + 1, h + k + 1, cmp);

        for(int i = 1; i <= k; i++) {

            cout << h[i].id << ' ';

            cout << setiosflags(ios::fixed);

            cout << setprecision(2);

            cout << h[i].p / 100.0 << endl;

        }

    }

    相关文章

      网友评论

          本文标题:团体程序设计天梯赛题解——L2-009 抢红包

          本文链接:https://www.haomeiwen.com/subject/irthbqtx.html