社区讨论

为什么只能对俩啊!

P11185奖牌排序参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m2frby5h
此快照首次捕获于
2024/10/19 14:07
去年
此快照最后确认于
2025/11/04 16:50
4 个月前
查看原帖
CPP
#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;
}
为什么只能对俩啊!求大佬

回复

4 条回复,欢迎继续交流。

正在加载回复...