你可以先把第16行删掉
###### 这样你就一分也没有了
```
https://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&dyTabStr=MCwzLDIsMSw0LDYsNSw3LDgsOQ%3D%3D&word=%E7%8B%97%E5%A4%B4%E8%A1%A8%E6%83%85
```
by zhangfulin @ 2024-04-29 19:02:19
试试这个
```cpp
#include<bits/stdc++.h>
using namespace std;
struct node{
int a,b,c,id,score;
}x[10005];
int cnt[10005];
bool cmp1(node l,node r){
if(l.a+l.b+l.c==r.a+r.b+r.c){
if(l.a+l.b==r.a+r.b){
if(max(l.a,l.b)==max(r.a,r.b)){
return 0;
}
return max(l.a,l.b)>max(r.a,r.b);
}
return l.a+l.b>r.a+r.b;
}
return l.a+l.b+l.c>r.a+r.b+r.c;
}
bool cmp2(node m,node n){
return m.id<n.id;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x[i].a>>x[i].b>>x[i].c;
x[i].id=i;
}
sort(x+1,x+n+1,cmp1);
/*for(int i=1;i<=n;i++){
cout<<x[i].a<<' '<<x[i].b<<' '<<x[i].c<<'\n';
}*/
/*for(int i=1;i<=n;i++){
cnt[i]=x[i].a+x[i].b+x[i].c;
cout<<cnt[i]<<' ';
}*/
int now=1;
x[1].score=1;
for(int i=2;i<=n;i++){
if(cnt[i]!=cnt[i-1])
cout<<i<<' ',now=i;
if(cnt[i]==cnt[i-1]){
if(x[i].a+x[i].b==x[i-1].a+x[i-1].b){
if(max(x[i].a,x[i].b)==max(x[i-1].a,x[i-1].b)){
x[i].score=now;
continue;
}
x[i].score=i;
now=i;
continue;
}
x[i].score=i;
now=i;
continue;
}
}
sort(x+1,x+n+1,cmp2);
for(int i=1;i<=n;i++){
cout<<x[i].score<<'\n';
}
return 0;
}
```
by zhangfulin @ 2024-04-29 20:57:37
@[zhangfulin](/user/1017703)
其实啥也没加
by zhangfulin @ 2024-04-29 20:59:31