不正经题解
2025-10-10 22:06:00
发布于:上海
4阅读
0回复
0点赞
别墨迹,上袋马 代码
#include<bits/stdc++.h>;
using namespace std;
struct people{//定义结构体
	string name;//名字
	int a,b,c;//金牌,银牌,铜牌(没啥用)
    int id;//编号
    int sum;//总奖牌数
}m[100005];//结构体数组
int cmp(people x,people y){//排序函数cmp
    if(x.sum != y.sum){//总牌数是否一样
        return x.sum>y.sum;//降序
    }
	else if(x.a != y.a){//金牌数是否一样
        return x.a>y.a;//降序
    }
    else if(x.b != y.b){//银牌数是否一样
        return x.b>y.b;//降序
    }
    else{//按编号**升序排列**
        return x.id<y.id;
    }
}
int main(){
	
	int n;
	cin>>n;
	for(int i=0;i<n;i++){//逐个输入
		cin>>m[i].name>>m[i].a>>m[i].b>>m[i].c;
        m[i].sum = m[i].a+m[i].b+m[i].c;
        m[i].id = i;
	}
	sort(m,m+n,cmp);//排序
	for(int i=0;i<n;i++){//逐个输出
        cout<<m[i].name<<" "<<m[i].sum<<endl;
    }
	
	return 0;
	
} //结束
第一次发题解,给个赞吧...
这里空空如也







有帮助,赞一个