可以不用结构体
2025-04-07 16:39:23
发布于:广东
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
string names[n];
int golds[n], silvers[n], bronzes[n], totals[n], orders[n];
// 读取输入数据
for (int i = 0; i < n; ++i) {
cin >> names[i] >> golds[i] >> silvers[i] >> bronzes[i];
totals[i] = golds[i] + silvers[i] + bronzes[i];
orders[i] = i;
}
// 创建索引数组
vector<int> indices(n);
iota(indices.begin(), indices.end(), 0);
// 多条件排序
sort(indices.begin(), indices.end(), [&](int a, int b) {
if (totals[a] != totals[b]) return totals[a] > totals[b];
if (golds[a] != golds[b]) return golds[a] > golds[b];
if (silvers[a] != silvers[b]) return silvers[a] > silvers[b];
return orders[a] < orders[b];
});
// 输出结果
for (int idx : indices) {
cout << names[idx] << " " << totals[idx] << endl;
}
return 0;}
AC 的
全部评论 1
包靠谱
2025-04-07 来自 广东
0
有帮助,赞一个