團體程序設計天梯賽題解——L2-009 搶紅包

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;

? ? }

}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容