不正经题解
2025-10-10 22:06:00
发布于:上海
5阅读
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;
} //结束
第一次发题解,给个赞吧...
这里空空如也




有帮助,赞一个