题解
2023-12-20 19:08:08
发布于:浙江
144阅读
0回复
0点赞
测试数据1会PE因为最后一行不能换行。
#include <iostream>
#include <algorithm>
using namespace std;
struct node{
string a;
int b,c;
}a[200000];
bool cmp(node x,node y){
if(x.b != y.b) return x.b>y.b;
if(x.c!=y.c) return x.c<y.c;
return x.a>y.a;
}
int main(){
int n;
cin >> n;
for(int i = 0;i < n;i++){
cin >> a[i].a >> a[i].b >> a[i].c;
}
sort(a,a+n,cmp);
for(int i = 0;i < n;i++){
if(i==n-1){
cout << a[i].a;
}else{
cout << a[i].a << endl;
}
}
return 0;
}
全部评论 1
#include<bits/stdc++.h> #define int long long using namespace std; const int N = 2e6; struct ren{ string name; int id, id2; }a[N]; bool cmp(ren a, ren b){ if(a.id != b.id) return a.id > b.id; else if(a.id2 != b.id2) return a.id2 < b.id2; return a.name > b.name; } signed main(){ int n; cin >> n; for(int i = 0 ; i < n; i++){ cin >> a[i].name >> a[i].id >> a[i].id2; }sort(a, a + n, cmp); for(int i = 0 ; i < n; i++){ cout << a[i].name << '\n'; } }不会啊
昨天 来自 四川
0









有帮助,赞一个