30pts求助,其他点全RE
查看原帖
30pts求助,其他点全RE
1387566
LaFanCYC楼主2024/12/17 21:25

好几次了都不行,求调

#include<bits/stdc++.h>
using namespace std;
struct stu{
	int c,m,e,s,id,no;
};
stu a[1145];
bool cmp1(stu x,stu y){
	if(x.s!=y.s) return x.s>y.s;
	if(x.s==y.s) {
		if((x.c+x.m)!=(y.c+y.m)) return (x.c+x.m)>(y.c+y.m);
		else if(max(x.c,x.m)!=max(y.c,y.m)) return max(x.c,x.m)>max(y.c,y.m);
	}
	return 0;
}
bool cmp2(stu x,stu y){
	return x.id<y.id;
}
int cpm(stu x,stu y){
	if(x.s!=y.s) return x.s>y.s;
	if(x.s==y.s) {
		if((x.c+x.m)!=(y.c+y.m)) return (x.c+x.m)>(y.c+y.m);
		else if(max(x.c,x.m)!=max(y.c,y.m)) return max(x.c,x.m)>max(y.c,y.m);
		else return 11;
	}
}
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].s=a[i].c+a[i].m+a[i].e;
		a[i].id=i;
	}
	sort(a+1,a+1+n,cmp1);
	a[1].no=1;
	for(int i=2;i<=n;i++){
		if(cpm(a[i-1],a[i])==11) a[i].no=a[i-1].no;
		else a[i].no=i;
	}
	sort(a+1,a+1+n,cmp2);
	for(int i=1;i<=n;i++)
		cout<<a[i].no<<endl;
	return 0;
}


2024/12/17 21:25
加载中...