70分求助!
查看原帖
70分求助!
922691
Hisy楼主2023/8/27 20:37
#include<cstdio>
#include<algorithm>
inline void read(int &number){
	number=0;
	int minus=1;
	char got=getchar();
	while('9'<got||got<'0'){
		if(got=='-'){
			minus=-1;
		};
		got=getchar();
	};
	while('0'<=got&&got<='9'){
		number=number*10+got-'0';
		got=getchar();
	};
	number*=minus;
};
inline void write(const int &number){
	if(number<0){
		putchar('-');
	};
	if(number>9){
		write(number/10);
	};
	putchar(number%10+'0');
};
struct node{
	int number,chinese,maths,english,score;
	inline void input(int _number){
		read(chinese);
		read(maths);
		read(english);
		score=chinese+maths+english;
		number=_number;
	};
	inline void output(void){
		write(number);
		putchar(' ');
		write(score);
		putchar('\n');
	};
}student[333];
inline bool comp(const node &cmp1,const node &cmp2){
	if(cmp1.score==cmp2.score){
		if(cmp1.chinese==cmp1.chinese){
			return cmp1.number<cmp2.number;
		};
		return cmp1.chinese>cmp2.chinese;
	};
	return cmp1.score>cmp2.score;
};
inline void sort(const int &size){
	std::sort(student+1,student+1+size,comp);
};
int maxn;
int main(int argc,char **argv){
	scanf("%d",&maxn);
	for(int it=1;it<=maxn;it++){
		student[it].input(it);
	};
	sort(maxn);
	for(int it=1;it<=5;it++){
		student[it].output();
	};
	return 0;
};

#6 #7 #8 过不了。

2023/8/27 20:37
加载中...