不愧是入门的,直接上cmp
2025-03-16 20:29:07
发布于:江苏
1阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n;
struct stu {
int id, gold, silver, bronze, sum;
string name;
};
bool cmp(stu a, stu b) {
if(a.sum != b.sum) return a.sum > b.sum;
else if(a.gold != b.gold) return a.gold > b.gold;
else if(a.silver != b.silver) return a.silver > b.silver;
else return a.id < b.id;
}
stu a[100005];
int main() {
cin >> n;
for(int i = 1; i <= n; i++) {
a[i].id = i;
cin >> a[i].name >> a[i].gold >> a[i].silver >> a[i].bronze;
a[i].sum = a[i].gold + a[i].silver + a[i].bronze;
}
sort(a + 1, a + n + 1, cmp);
for(int i = 1; i <= n; i++) {
cout << a[i].name << ' ' << a[i].sum << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个