代码RE求助
  • 板块学术版
  • 楼主Ysy2027
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/22 17:25
  • 上次更新2025/1/22 17:31:43
查看原帖
代码RE求助
1473068
Ysy2027楼主2025/1/22 17:25
#include <iostream>
#include <algorithm>
using namespace std;
struct student{
	int id;
	int s;//总分
	int yu;
	int shu;
	int y;
	int ys;
	int ys_max;
	int b;
};
student c[5000];
int n,m=1;
int f(const student & a,const student & b){
	if(a.s!=b.s) return a.s>b.s;
	if(a.ys!=b.ys) return a.ys>b.ys;
	if(a.ys_max!=b.ys_max) return a.ys_max>b.ys_max;
	return a.id<b.id;
}
int f2(const student & a,const student & b){
	return a.id<b.id;
}
int main(){
	ios::sync_with_stdio(false);
	cin>>n;
	for(int i=1;i<=n;++i){
		cin>>c[i].yu>>c[i].shu>>c[i].y;
		c[i].s=c[i].yu+c[i].shu+c[i].y;
		c[i].ys=c[i].yu+c[i].shu;
		c[i].ys_max=max(c[i].yu,c[i].shu);
		c[i].id=i;
	}
	sort(c+1,c+n+1,f);
	c[1].b=1;
	for(int i=2;i<=n;++i){
		if((c[i].s==c[i-1].s)&&(c[i].ys==c[i-1].ys)&&(c[i].ys_max==c[i-1].ys_max)){
			c[i].b=m;
			m++;
		}else{
			m++;
			c[i].b=m;
		}
	}
	sort(c+1,c+n+1,f2);
	for(int i=1;i<=n;++i){
		cout<<c[i].b<<endl;
	}
	return 0;
}
2025/1/22 17:25
加载中...