求助!玄关
  • 板块题目总版
  • 楼主Happy_Doggie
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/8/26 14:44
  • 上次更新2023/11/3 01:06:35
查看原帖
求助!玄关
742221
Happy_Doggie楼主2023/8/26 14:44

请各位 dalaodalao 帮忙看一下代码 ↓\downarrow

#include<bits/stdc++.h>
#define summ(x) a[x].sum=a[x].chi+a[x].mat+a[x].eng;
#define f(x) sort(x+1,x+1+n,cmp);
using namespace std;
struct Stu{
	int id;
	int chi;
	int mat;
	int eng;
	int sum=0;
} a[100+10];
int n;
int cmp(Stu &l,Stu &r) {
	if(l.sum==r.sum) {
		if(l.chi==r.chi) l.id<r.id;
		else return l.chi>r.chi;
	} else return l.sum>r.sum;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i].chi>>a[i].mat>>a[i].eng;
		summ(i);
		a[i].id=i;
	}
	f(a);
	for(int i=1;i<=5;i++) cout<<a[i].id<<" "<<a[i].sum<<endl;
	return 0;
}

2023/8/26 14:44
加载中...