结构体排序
2024-12-21 15:54:23
发布于:浙江
10阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
const int N =1e5+10;
int n;
struct bang{
string mz;
int id,a,b,c,z;
}a[N];
bool cmp(bang x, bang y){
if(x.z != y.z) return x.z > y.z;
else if(x.a != y.a) return x.a > y.a;
else if(x.b != y.b) return x.b > y.b;
else return x.id < y.id;
}
int main(){
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i].mz >> a[i].a >> a[i].b >> a[i].c;
a[i].id = i;
a[i].z = a[i].a + a[i].b + a[i].c;
}
sort(a+1,a+n+1,cmp);
for(int i = 1;i <= n;i++){
cout << a[i].mz << " " << a[i].z << '\n';
}
return 0;
}
这里空空如也
有帮助,赞一个