文章

211

粉丝

1

获赞

1153

访问

43.8k

头像
成绩再次排序 题解:
P1817 华南理工大学机试题
发布于2026年3月15日 20:15
阅读数 98

#include<bits/stdc++.h>
using namespace std;
struct node{
	string name;
	int ch,ma,yi,all;
};	
bool cmp(node a,node b){
	if(a.all != b.all)
		return a.all > b.all;
	else if(a.ch != b.ch)
		return a.ch > b.ch;
	else if(a.ma != b.ma)
		return a.ma > b.ma;
	else 
		return a.yi > b.yi;		
}	
int main(){
	int n;
	while(cin >> n){
		vector<node> a(n);
		for(int i=0;i<n;i++){
			int sum = 0;
			cin >> a[i].name >> a[i].ch >> a[i].ma >> a[i].yi;
			sum += a[i].ch;
			sum += a[i].ma;
			sum += a[i].yi;
			a[i].all = sum;		
		}	
		stable_sort(a.begin(),a.end(),cmp);
		for(auto it:a)
			cout << it.name << " " << it.ch << " " << it.ma << " " << it.yi << endl;
	}	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发