样例过不了,求调
查看原帖
样例过不了,求调
884913
joker7612801楼主2024/8/4 17:33
#include <bits/stdc++.h>
using namespace std;
int n;
int m=1;
struct cmp{
	int yu,shu,wai,zong,ming,id;
}a[10005];
bool nmp(cmp x,cmp y){
	if(x.zong!=y.zong){
		return x.zong>y.zong;
	}
	if(x.yu+x.shu!=y.yu+y.shu){
		return x.yu+x.shu>y.yu+y.shu;
	}
	if(max(x.yu,x.shu)!=max(y.yu,y.shu)){
		return max(x.yu,x.shu)>max(y.yu,y.shu);
	}
	return false;
}
bool kmp(cmp a,cmp b){
	return a.id<b.id;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].yu>>a[i].shu>>a[i].wai;
		a[i].zong=a[i].yu+a[i].shu+a[i].wai;
		a[i].id=i;
	}
	sort(a+1,a+n+1,nmp);
	for(int i=1;i<=n;i++){
		if(a[i].zong==a[i-1].zong&&a[i].shu+a[i].yu==a[i-1].shu+a[i-1].yu&&max(a[i].shu,a[i].yu)==max(a[i].shu,a[i].yu)){
			a[i].ming=a[i-1].ming;
		}else{
			a[i].ming=i;
		}
	}
	sort(a+1,a+1+n,kmp);
	for(int i=1;i<=n;i++){
		cout<<a[i].ming<<endl;
	}
	return 0;
}
2024/8/4 17:33
加载中...