信息学奥赛一本通(c++):1180:分数线划定

信奥赛C++老师解一本通题: 1180:分数线划定 面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。第一行,两个整数n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中nn 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 阅读详情

一、题目

1180:分数线划定
时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

        世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。

        现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。

【输入】

        第一行,两个整数n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。输入数据保证m×150%向下取整后小于等于n。

        第二行到第 n+1行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000≤k≤9999)和该选手的笔试成绩s(1≤s≤100)。数据保证选手的报名号各不相同。

【输出】

        第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。

        从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。

【输入样例】

6 3
1000 90
3239 88
2390 95
7231 84
1005 95
1001 88

【输出样例】

88 5
1005 95
2390 95
1000 90
1001 88
3239 88

【提示】

样例说明:m×150%=3×150%=4.5,向下取整后为4。保证4个人进入面试的分数线为88,但因为88有重分,所以所有成绩大于等于88的选手都可以进入面试,故最终有5个人进入面试。

二、思路

        1.第一次排序 按照成绩从高到低排序

        2.第二次排序 按照序号从小到大排序 同时计算出进面的人数

        3.把数据定义成int型可以实现向下取整

        4.最后for循环 筛选成绩大于等于最后进面分数的人


三、代码

#include<iostream>
using namespace std;

class people
{
public:
    int num;
    int score;
};

int main()
{
    int n,m;
    people p[5001],t;
    int fn=0;

    cin>>n>>m;

    m*=1.5;

    for(int i=1; i<=n; i++)
    {
        cin>>p[i].num>>p[i].score;
    }

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n-i; j++)
        {
            if(p[j].score<p[j+1].score)
            {
                t=p[j];
                p[j]=p[j+1];
                p[j+1]=t;
            }
        }
    }

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n-i; j++)
        {
            if((p[j].score==p[j+1].score)&&(p[j].num>p[j+1].num))
            {
                t=p[j];
                p[j]=p[j+1];
                p[j+1]=t;
            }
        }
        if(p[i].score>=p[m].score) fn++;
    }

    cout<<p[m].score<<" "<<fn<<endl;
    for(int i=1; i<=n; i++)
    {
        if(p[i].score>=p[m<=n?m:n].score)
        {
            cout<<p[i].num<<" "<<p[i].score<<endl;
        }
    }

    return 0;
}

​

活动地址:优快云21天学习挑战赛

信息学奥赛一本通——1180:分数线划定 题解 阅读详情

相关推荐

洛谷训练题 P1068 分数线划分 难度 普及-

世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,AA市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150\%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m \times 150\%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。

信息学奥赛一本通 1180:分数线划定

结构体数组排序

脚踏实地,仰望星空 1219

7-1 链式基数排序 (20 分)

7-1 链式基数排序 (20 分) 实现链式基数排序,待排序关键字n满足1≤n≤1000,最大关键字数位≤5。 输入样例: 第一行输入待排序个数n(1≤n≤1000),再输入n个数(n的数位≤5)。 10 278 109 63 930 589 184 505 269 8 83 输出样例: 输出每趟分配-收集后链表中的关键字,趟数为序列中最大值的数位(如样例中930的数位为3),每行结尾有空格。 930 63 83 184 505 278 8 109 589 269 505 8 109 930 63 26

OwemShu的博客 4236

1180:分数线划定

信奥排序题目——结构体排序

weixin_56991243的博客 527

NSGA-Ⅱ算法:从原理到实战,解锁多目标优化难题

本文深入解析NSGA-Ⅱ算法在多目标优化中的应用,从原理到实战全面覆盖。通过快速非支配排序、精英策略和拥挤度比较三大创新,NSGA-Ⅱ有效解决了传统算法的效率与多样性问题。结合工业案例展示其在注塑工艺优化中的显著效果,为工程师提供实用解决方案。

weixin_29207149的博客 365

5-DOF机械臂课程设计(一)之正逆运动学

文章目录基本要求基本概念关节坐标系的建立正运动学求解DH参数表的建立逆运动学求解多解下解的选取源码下载后续 基本要求 ​ 开发上位机程序,要求有良好的界面,能提供关节空间下和笛卡尔坐 标下表示的目标位姿点和中间若干经过点的输入功能,进行轨迹规划, 并控制机械臂沿轨迹运动,最终完成目标抓取的任务。 基本概念 连杆长度 :2个相邻关节轴线之间的距离 连杆扭角 :2个相邻关节轴线之间的角度 连杆偏距 :2个关节坐标系的X轴之间的距离 关节角度 :关节变量 计算时需要加初始角度偏移 关节坐标系的建立 ​ 根据《机

Rosen的博客 5855

3439:练76.3 分数线划定

3439:练76.3 分数线划定

青少年趣味编程 1071

MagicDraw-需求图

MagicDraw学习笔记

木头征的博客 4135

信息学奥赛一本通在线评测平台的一些bug

所有的在线评测平台应该都有错误吧,多与少而已,信息学奥赛一本通作为目前中学生最为流行的学习书籍之一,如果能够把一些可能的bug补上就更好 1150:求正整数2和n之间的完全数 没有写n的范围,实际为10000以内吧   1156:求π的值 求当最后一项小于10^−6时π的值。 实际结果应为求当最后一项大于等于10^-6时π的值   1180:分数线划定 面试分数线根据计划录取人数的...

flymist的博客 9421

高动态范围结构光三维测量技术:从多曝光融合到深度学习的演进与应用

本文深入探讨了高动态范围结构光三维测量技术的演进与应用,从传统的多曝光融合技术到深度学习驱动的创新方案。通过工业案例展示了该技术在提升测量精度和效率方面的显著优势,特别是在处理高反光、复杂表面时的突破性表现。文章还提供了针对不同工业场景的技术选型指南,帮助工程师优化三维测量解决方案。

weixin_29063979的博客 293

基于深度学习YOLOv5的草莓成熟度检测系统详解(深度学习模型+UI界面+Python代码+训练数据集)

数据采集与预处理模块:负责收集草莓图像,并进行数据增强和标注。深度学习模型训练模块:使用YOLOv5模型进行草莓成熟度检测模型的训练。模型推理模块:加载训练好的模型,对输入图像或视频进行草莓成熟度检测。UI界面模块:提供用户交互界面,方便用户上传图像或视频进行成熟度检测。本文详细介绍了基于YOLOv5的草莓成熟度检测系统的构建过程,包括数据集的构建、模型的训练与推理、以及UI界面的设计。通过本文的指导,读者可以快速搭建一个高效的草莓成熟度检测系统,并应用于实际场景中。

斌擎科技 524

分数线划定(信息学奥赛一本通-T1180)

【题目描述】 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150150划定,即如果计划录取mm名志愿者,则面试分数线为排名第m×150m×150(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线...

Alex_McAvoy的博客 7159

Java:PriorityQueue详解——从零基础到应用

看了网上的详解,我反是一篇没看懂,都是什么垃圾玩意也发出来,无语,我自己根据这两天的学习总结出来了下面这些干货,我就是这么学会的,大家要是零基础看肯定木问题。

流楚丶格念的博客 6140

第七章 结构体和文件 《信息学奥赛一本通·编程启蒙 C++版》

第七章 结构体和文件 《信息学奥赛一本通·编程启蒙 C++版》

青少年趣味编程 503

使用OpenGL加载和显示DXF格式的3D模型文件编程

这样,我们就完成了使用OpenGL加载和显示DXF格式的3D模型文件的编程。通过实现加载函数和绘制回调函数,我们能够读取DXF文件的数据并使用OpenGL绘制出来。请注意,这只是一个简单的例子,仅涵盖了基本的加载和显示功能。在本文中,我们将探讨如何使用OpenGL编程加载和显示DXF(Drawing Exchange Format)格式的3D模型文件。DXF是一种通用的CAD(计算机辅助设计)文件格式,常用于存储和交换2D和3D图形数据。使用OpenGL加载和显示DXF格式的3D模型文件编程。

2301_79331421的博客 412

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

第七章 结构体和文件 《信息学奥赛一本通 编程启蒙C++版》-2023.11.02

第七章 结构体和文件 《信息学奥赛一本通 编程启蒙C++版》-2023.11.02

青少年趣味编程 548

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

电子协会 C语言 3级(1-20题)

电子协会 C语言 3级(1-20题)

青少年趣味编程 583

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

刷题题单...

【洛谷】P2884 [USACO07MAR] Monthly Expense S / 【信息学奥赛一本通】1243:月度开销 | AC:2。【洛谷】P1068 [NOIP 2009 普及组] 分数线划定 / 【信息学奥赛一本通】1180:分数线划定 | AC:2。【洛谷】P1009 [NOIP 1998 普及组] 阶乘之和 / 【信息学奥赛一本通】1173:阶乘和 | AC:2。【洛谷】P1451 求细胞数量 / 【信息学奥赛一本通】1329:【例8.2】细胞 | AC:2。

写代码的犄角旮瘩 241

信息学奥赛一本通 1180 | 1946:【09NOIP普及组】分数线划定 | OpenJudge NOI 1.10 05 | 洛谷 P1068 [NOIP2009 普及组] 分数线划定

【题目链接】 ybt 1180:分数线划定 ybt 1946:【09NOIP普及组】分数线划定 OpenJudge NOI 1.10 05:分数线划定 洛谷 P1068 [NOIP2009 普及组] 分数线划定 【题目考点】 1. 排序 【解题思路】 该题要排序的元素个数最大为5000,选用O(n2)O(n^2)O(n2)的排序算法即可。 基本思路为:先按照“先按成绩降序排序,成绩相同按报名号升序排序”这样的排序规则对输入的数据进行排序,取第⌊m∗1.5⌋\lfloor m*1.5 \rfloor⌊m∗1.

君义NOIP的博客 4159

【题解】分数线划定 (NOIP 2009 普及组 第二题)

题目来源:洛谷 题目描述: 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,AA市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m \times 150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 ...

cjx的博客 3516

C++信息学奥赛1180:分数线划定

【代码】C++信息学奥赛1180:分数线划定。

qq_45083002的博客 1099

NOIP 2009 分数线划定

题目描述 世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。  现在就请你编写程序划定面试分数线,并输出所有进入面试的选...

不期而遇 906

每日一题12006-分数线划定

1.题目详情 世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。 现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 2.解题思路 学号和成绩需要匹配,成绩输出的同时学号也不能改变 如何比较笔试成绩? 同

weixin_46398446的博客 1323
上一篇: 信息学奥赛一本通(c++):1839:【05NOIP提高组】谁拿了最多奖学金
下一篇: 信息学奥赛一本通(c++):1407:笨小猴
StrawBerryTreea
博客等级 码龄9年 141粉丝 95原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值