为什么只能对俩啊!
查看原帖
为什么只能对俩啊!
1319075
zhangruixuan6楼主2024/10/19 14:06
#include<bits/stdc++.h>
using namespace std;
int s;
struct node{
	int cd,a,b,c; 
}m[200050];
int good[200050];
bool cmpa(node x,node y){
    return x.a>y.a; 
}
bool cmpb(node x,node y){
    return x.b>y.b; 
}
bool cmpc(node x,node y){
    return x.c>y.c; 
}
int main(){
	for(int i=1;i<=200049;i++){
		good[i]=999999;
	}
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>m[i].a>>m[i].b>>m[i].c;
		m[i].cd=i;
	}
	sort(m+1,m+n,cmpa);
	s=0;
	for(int i=1;i<=n;i++){
		if(m[s].a!=m[i].a){
			s=i;
		}
		good[m[i].cd]=min(good[m[i].cd],s);
	} 
	sort(m+1,m+n,cmpb);
	s=0;
	for(int i=1;i<=n;i++){
		if(m[s].b!=m[i].b){
			s=i;
		}
		good[m[i].cd]=min(good[m[i].cd],s);
	} 
	sort(m+1,m+n,cmpc);
	s=0;
	for(int i=1;i<=n;i++){
		if(m[s].c!=m[i].c){
			s=i;
		}
		good[m[i].cd]=min(good[m[i].cd],s);
	} 
	for(int i=1;i<=n;i++){
		cout<<good[i]<<endl;
	} 
	return 0;
}

为什么只能对俩啊!求大佬

2024/10/19 14:06
加载中...