使用结构体(有简单注释)
2025-05-11 17:38:03
发布于:浙江
5阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
struct xs{
int k,s;
}; //定义结构体xs,有k,s两个变量
xs a[5005];//定义结构体数组,保存选手的信息
bool cmp(xs a,xs b){
if(a.s==b.s) return a.k<b.k;
return a.s>b.s;
} //定义选手排名方式:分一样的号小在前,分大在前
int main(){
int n,m;
cin>>n>>m;
m=floor(m*1.5);//计算n,m
for(int i=0;i<n;i++){
cin>>a[i].k>>a[i].s;
} //存入选手信息
sort(a,a+n,cmp);//按之前的排名方法将选手排序
for(int i=m;i<n;i++){
if(a[i].s==a[i-1].s){
m++;
}else{
break;
}
} //判断重分,并增加名额
cout<<a[m-1].s<<' '<<m<<endl;
for(int i=0;i<m;i++){
cout<<a[i].k<<' '<<a[i].s<<endl;
}//输出题目要求的数据
return 0;
}
这里空空如也
有帮助,赞一个