求调,必关!
查看原帖
求调,必关!
1601702
dbrui楼主2025/8/3 17:49

样例过了,但是是0分

#include<bits/stdc++.h>
using namespace std;
struct T{
	int ch,ma,en,sh,num;
}; 
bool cmp(T x,T y){
	if(x.ch+x.ma+x.en!=y.ch+y.ma+y.en) return x.ch+x.ma+x.en>y.ch+y.ma+y.en;
	else if(x.ch+x.ma!=y.ch+y.ma) return x.ch+x.ma>y.ch+y.ma;
	else if(max(x.ch,x.ma)!=max(y.ch,y.ma)) return max(x.ch,x.ma)>max(y.ch,y.ma);
	else return 0;
}
bool cmp_(T x,T y){
	return x.sh<y.sh;
}
T a[10009];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].ch>>a[i].ma>>a[i].en;
		a[i].sh=i;
	}
	sort(a+1,a+n+1,cmp);
    a[1].num=1;
	for(int i=2;i<=n;i++){
		if(a[i].ch+a[i].ma+a[i].en==a[i-1].ch+a[i-1].ma+a[i-1].en&&
		a[i].ch+a[i].ma==a[i-1].ch+a[i-1].ma&&
		max(a[i].ch,a[i].ma)==max(a[i-1].ch,a[i-1].ma)){
		   	a[i].num=a[i-1].num;
		}else{
			a[i].num=i;
		} 
	}
	sort(a,a+n,cmp_);
	for(int i=1;i<=n;i++) cout<<a[i].num<<'\n';
    return 0;
}


2025/8/3 17:49
加载中...