解题思路:
定义结构体--按照规定排序--过分数线人数s--输出s名
注意事项:
结构体使用sort排序需要自己编写排序规则:sort(start,end,排序方法)
参考代码:
#include<iostream>
#include<algorithm>//sort头文件
using namespace std;
//结构体
struct r{
long int id;
int score;
};
struct r x[10001];
//cmp函数 ,为sort排序定规则
bool cmp(r x,r y){
if(x.score>y.score)
return 1;
if(x.score==y.score)
if(x.id<y.id)
return 1;
return 0;
}
//主函数
int main()
{
int n,m,i;
cin>>n>>m;
for(i=0;i<n;i++){
cin>>x[i].id>>x[i].score;
}
int s=m*1.5;//过分数线 人数
sort(x,x+n,cmp); //排序,定义规则:cmp函数
//如果卡在相同分数,定位人数
for(i=0;i<s;i++){
if(x[s+1-1].score==x[s-1].score){
s++;
}
}
//输出最低分,人数
cout<<x[s-1].score<<" "<<s<<endl;
//输出录取人数
for(i=0;i<s;i++){
cout<<x[i].id<<" "<<x[i].score<<endl;
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复