球条 {{(>_<)}}
查看原帖
球条 {{(>_<)}}
1309755
Silly_Mo楼主2024/10/14 09:54
#include<bits/stdc++.h>
using namespace std;
struct phb{
	int g,s,b,id,pm;
}ph[2000009];
bool cmpg(phb w,phb e){
	return w.g>e.g;
}
bool cmps(phb w,phb e){
	return w.s>e.s;
}
bool cmpb(phb w,phb e){
	return w.b>e.b;
}
bool cmpid(phb w,phb e){
	return w.id<e.id;
}

int main(){
//	freopen("medal2.in","r",stdin);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++) ph[i].pm=1e8,ph[i].id=i,cin>>ph[i].g>>ph[i].s>>ph[i].b;	
	int q=1;//重分标记 
	sort(ph+1,ph+n+1,cmpg);
	for(int i=1;i<=n;i++){
		if(ph[i].g==ph[q].g) ph[i].pm=q;	
		else{
			ph[i].pm=i;
			q=i;
		} 
	}
	sort(ph+1,ph+n+1,cmps);	
	q=1;
	for(int i=1;i<=n;i++){
		if(ph[i].s==ph[q].s) ph[i].pm=min(ph[i].pm,q);	
		else{
			ph[i].pm=min(ph[i].pm,i);
			q=i;
		} 
	}
	q=1;
	for(int i=1;i<=n;i++){
		if(ph[i].b==ph[q].b) ph[i].pm=min(ph[i].pm,q);	
		else{
			ph[i].pm=min(ph[i].pm,i);
			q=i;
		} 
	}
	
	sort(ph+1,ph+n+1,cmpid);
	
	for(int i=1;i<=n;i++) cout<<ph[i].pm<<endl;
	return 0;
}
2024/10/14 09:54
加载中...