求调!回复必关!!!
查看原帖
求调!回复必关!!!
1042335
LawrenceLoyaldog楼主2025/1/31 20:00
#include<bits/stdc++.h>
using namespace std;
struct st{
	int t,m,c,e,p,id;
}a[10000],b[10000];
int n;
bool cmp1(st x,st y){
	if(x.t>y.t) return 1;else if(x.t<y.t) return 0;
	if((x.c+x.m)>(y.c+y.m))return 1;else if((x.c+x.m)<(y.c+y.m)) return 0;
	if(max(x.c,x.m)>max(y.c,y.m))return 1;else if(max(x.c,x.m)>max(y.c,y.m))return 0;
	return 0;
}
int main(){
	cin >> n;
	for(int i=0;i<n;i++){
		cin >> a[i].c;
		cin >> a[i].m;
		cin >> a[i].e;
		a[i].t = a[i].c+a[i].m+a[i].e;
		a[i].id=i;
	}
	sort(a,a+n,cmp1);
	int k=1;
	for(int i=0;i<n;i++){ 
		if((a[i].t==a[i+1].t)&&((a[i].c+a[i].m)==(a[i+1].c+a[i+1].m))&&(max(a[i].c,a[i].m)==max(a[i+1].c,a[i].m))){
			b[i].p=k;
		}else{
			b[i].p=k;k++;
		}
		
	}
	for(int i=0;i<n;i++){
		cout << b[a[i].id].p <<"\n";
	}
	return 0;
}

2025/1/31 20:00
加载中...