排名失败了,求助!
查看原帖
排名失败了,求助!
1473064
pusx_loading楼主2025/1/22 17:32
#include<bits/stdc++.h>
using namespace std;
struct p{
	int c,m,e,w,t,t1,g;
}a[10001];
bool cmp1(p d,p f){
	if(d.t!=f.t){
		return d.t>f.t;
	}
	else if(d.t1!=f.t1){
		return d.t1>f.t1;
	}
	else if(max(d.c,d.m)!=max(f.c,f.m)){
		return max(d.c,d.m)>max(f.c,f.m);
	}
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].c>>a[i].m>>a[i].e;
		a[i].t=a[i].c+a[i].e+a[i].m;
		a[i].t1=a[i].c+a[i].m;
		a[i].w=i;
	}
	sort(a+1,a+1+n,cmp1);
	for(int i=1;i<=n;i++){
		cout<<a[i].t1<<endl;
	}
	int c=1;
	a[c].g=1;
	while((c+1)<=n){
		if(a[c].t==a[c+1].t&&a[c].t1==a[c+1].t1&&max(a[c].c,a[c].m)==max(a[c+1].c,a[c+1].m)){
			a[c+1].g=a[c].g;
		}
		else{
			a[c+1].g=c+1;
		}
		c++;//想要排序却失败了求助! 
	}
	for(int i=1;i<=n;i++){
		cout<<a[a[i].w].g<<endl;
	}
}
2025/1/22 17:32
加载中...