大佬看看吧
#include<bits/stdc++.h>
using namespace std;
int n;
int jin[100],yin[100],tong[100];
int pai_ming[100];
int Dream[100];
bool cpm_jin(int a,int b){
if(jin[a]!=jin[b]){
return jin[a]>jin[b];
}
if(yin[a]!=yin[b]){
return yin[a]>yin[b];
}
return tong[a]>tong[b];
}
bool cpm_yin(int a,int b){
if(yin[a]!=yin[b]){
return yin[a]>yin[b];
}
if(jin[a]!=jin[b]){
return jin[a]>jin[b];
}
return tong[a]>tong[b];
}
bool cmp_tong(int a,int b){
if(tong[a]!=tong[b]){
return tong[a]>tong[b];
}
if(jin[a]!=jin[b]){
return jin[a]>jin[b];
}
return yin[a]>yin[b];
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>jin[i]>>yin[i]>>tong[i];
Dream[i]=i;
pai_ming[i]=n;
}
sort(Dream,Dream+n,cpm_jin);
for(int i=0;i<n;i++){
if(i>0&&jin[Dream[i]]==jin[Dream[i-1]]&&yin[Dream[i]]==yin[Dream[i-1]]&&tong[Dream[i]]==tong[Dream[i-1]]){
pai_ming[Dream[i]]=pai_ming[Dream[i-1]];
}
else{
pai_ming[Dream[i]]=i+1;
}
}
sort(Dream,Dream+n,cpm_yin);
for(int i=0;i<n;i++){
if(i>0&&yin[Dream[i]]==yin[Dream[i-1]]&&jin[Dream[i]]==jin[Dream[i-1]]&&tong[Dream[i]]==tong[Dream[i-1]]){
pai_ming[Dream[i]]=min(pai_ming[Dream[i]],pai_ming[Dream[i-1]]);
}
else{
pai_ming[Dream[i]]=min(pai_ming[Dream[i]],i+1);
}
}
sort(Dream,Dream+n,cmp_tong);
for(int i=0;i<n;i++){
if(i>0&&tong[Dream[i]]==tong[Dream[i-1]]&&jin[Dream[i]]==jin[Dream[i-1]]&&yin[Dream[i]]==yin[Dream[i-1]]){
pai_ming[Dream[i]]=min(pai_ming[Dream[i]], pai_ming[Dream[i-1]]);
}
else{
pai_ming[Dream[i]]=min(pai_ming[Dream[i]],i+1);
}
}
for(int i=0;i<n;i++){
cout<<pai_ming[i]<<endl;
}
return 0;
}