社区讨论
30分求助
B3968[GESP202403 五级] 成绩排序参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhj3m2lg
- 此快照首次捕获于
- 2025/11/03 20:10 4 个月前
- 此快照最后确认于
- 2025/11/03 20:10 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int n;
const int maxn = 1e3 + 10;
struct str
{
int a,b,c;
int id;
int list;
/* data */
}a[maxn];
int max(str a){
if(a.a > a.b){
return a.a;
}else{
return a.b;
}
}
bool cmp(str x,str y){
if(x.a + x.b + x.c != y.a + y.b + y.c){
return x.a + x.b + x.c > y.a + y.b + y.c;
}else if(x.a + x.b != y.a + y.b){
return x.a + x.b > y.a + y.b;
}else if(max(x) != max(y)){
return max(x) > max(y);
}else{
return true;
}
}
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;i++){
scanf("%d %d %d",&a[i].a,&a[i].b,&a[i].c);
a[i].id = i;
}
sort(a + 1,a + n + 1,cmp);
for(int i = 1;i <= n;i++){
a[a[i].id].list = i;
}
for(int i = 1;i <= n;i++){
printf("%d\n",a[i].list);
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...