NOI / 1.10编程基础之简单排序 提问05:分数线划定 c语言 结构体
描述
世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第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个人进入面试。
#include <stdio.h> // 引入标准输入输出库
#include <math.h> // 引入数学库// 定义一个结构体,表示一个人的信息
struct people
{int xh, fs; // 分别表示人的学号和分数
};// 交换两个结构体的函数
void swap(struct people *a, struct people *b)
{struct people temp = *a; // 创建一个临时变量,用于存储a的值*a = *b; // 将b的值赋给a*b = temp; // 将临时变量的值赋给b
}int main()
{struct people a[5000]; // 定义一个结构体数组,用于存储所有人的信息int n, m, i, j, lq; // 定义一些整型变量,用于后续的循环和计算scanf("%d %d", &n, &m); // 从标准输入读取n和m的值for (i = 0; i < n; i++) // 循环n次,读取每个人的学号和分数{scanf("%d %d", &a[i].xh, &a[i].fs);}for (i = 1; i < n; ++i) // 对数组进行冒泡排序,按照分数降序排列,如果分数相同则按照学号升序排列{for (j = 0; j < n - i; ++j){if (a[j].fs < a[j + 1].fs) // 如果当前元素的分数小于下一个元素的分数{swap(&a[j], &a[j + 1]); // 交换这两个元素的位置}else if (a[j].fs == a[j + 1].fs) // 如果当前元素的分数等于下一个元素的分数{if (a[j].xh > a[j + 1].xh) // 如果当前元素的学号大于下一个元素的学号{swap(&a[j], &a[j + 1]); // 交换这两个元素的位置}}}}lq = floor(m * 1.5); // 计算lq的值,即需要输出的最低分数的下标printf("%d ", a[lq - 1].fs); // 输出最低分数while (a[lq - 1].fs == a[lq].fs) // 循环直到找到第一个与最低分数不同的元素{lq++; // 更新lq的值}printf("%d\n", lq); // 输出lq的值for (i = 0; i < lq; i++) // 循环输出最低分数及其后面的所有元素{printf("%d %d\n", a[i].xh, a[i].fs);}return 0; // 程序结束,返回0
}
相关文章:
NOI / 1.10编程基础之简单排序 提问05:分数线划定 c语言 结构体
描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试…...
再探Docker:从Docker基础到跨服务器部署
摘要: 这篇文章将从介绍Docker基础开始,逐步讲解如何创建镜像、使用Docker Compose编排容器、在Docker中更新部署环境,将更新后的环境打包为镜像并导出为tar包,最后在其他服务器上应用这个镜像。 1. Docker是什么 Docker是一种容…...
C# 使用PanGu分词
写在前面 这是官方介绍:盘古分词是一个中英文分词组件。作者eaglet 曾经开发过KTDictSeg 中文分词组件,拥有大量用户。作者基于之前分词组件的开发经验,结合最新的开发技术重新编写了盘古分词组件。 盘古分词组件需要配合其字典文件使用&am…...
Termius 一款优秀的跨平台 SSH 客户端工具
🔥🔥🔥 作为程序员或者运维管理人员,我们经常需要使用终端工具来进行服务器管理及各种操作,比如部署项目、调试代码、查看/优化服务、管理服务器等。 而实现远程服务器连接需要借助 SSH 协议来进行,SSH&am…...
生命科学领域 - 新药从研发到上市全流程
新药是指新研制的、临床尚未应用的药物,其化学本质应为新的化合物或称新化学实体、 新 分子实体、新活性实体。新药研发的根本目的是治疗疑难危重疾病,研制出来的药物即使是全新的化学结构,但是疗效或安全性却不及现有的药物便失去新药价值&a…...
血的教训------入侵redis之利用python来破解redis密码
血的教训------入侵redis之利用python来破解redis密码 利用强大的python来进行redis的密码破解,过程不亦乐乎,当然也可以用shell脚本 本篇文章只供学习交流,请勿他用,谢谢。 其他相关联的文章 [1]VMware安装部署kail镜像服务器【…...
yolov8-pose 推理流程
目录 一、关键点预测 二、图像预处理 二、推理 三、后处理与可视化 3.1、后处理 3.2、特征点可视化 四、完整pytorch代码 yolov8-pose tensorrt 一、关键点预测 注:本篇只是阐述推理流程,tensorrt实现后续跟进。 yolov8-pose的tensorrt部署代码…...
笔记十七、认识React的路由插件react-router-dom和基本使用
react-router 分类 web使用 react-router-dom native使用 react-router-native anywhere(使用麻烦) react-router 安装 yarn add react-router-dom main.jsx import React from "react"; import ReactDOM from "react-dom/client"…...
CleanMyMac X4.14.5Crack最新Mac电脑清理优化最佳应用
CleanMyMac X 4.14.5是用于清理和优化Mac的最佳应用程序和强大工具。它看起来很棒而且很容易理解。该软件可以清理、保护、优化、稳定和维护您的 Mac 系统。您可以立即删除不必要的、不寻常的、无用的垃圾文件、损坏的文件垃圾,并释放大量内存空间。此外,…...
Linux shell单双引号区别
shell单双引号区别: Shell脚本中很多时候都在用单引号或双引号来框住字符串,但是他们之间是存在区别的 避免踩坑记录… 单引号 单引号中的任何字符都没有特殊含义,即一些转义字符,$ 变量引用都会无效,它只把他们当作一个单纯的…...
ES 8.x开始(docker-compose安装、kibana使用、java操作)
学习文档地址 一、Docker安装 这里使用docker-compose来安装,方便后续迁移,Elasticserach和kibina一起安装。 1、创建安装目录 configdataplugins 2、配置文件 配置文件有两个,一个是ES的配置文件,一个docker-compose的配置文件 …...
有了倾斜摄影,如何搭建一座智慧城市?
随着无人机航测、倾斜摄影等全新一代测绘信息技术方法的发展,可以迅速搜集制作精细化的城市三维模型,搭建城市地理信息基础服务架构。 近期都在重点关注的“智慧城市”究竟是什么,有什么重大作用,同时又面临着什么难关,…...
设计测试用例的具体方法总结
📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️白马沉河共歃誓,怒涛没城亦不悔 ☁️基于需求进行测试用例的设计 基…...
计算机毕业设计|基于SpringBoot+MyBatis框架的仿天猫商城购物系统设计与实现
计算机毕业设计|基于SpringBootMyBatis框架的仿天猫商城购物系统设计与实现 迷你仿天猫商城是一个基于SSM框架的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物…...
JAXB的XmlValue注解
XmlValue注解用在Java属性、或者方法上。它可以使得映射到XML Schema中的Java类具有一个simpleContent 或者simpleType。 一个Java类中最多只能有一个属性被XmlValue注解。 如果被XmlValue注解的JavaBean属性是Java类中唯一映射到XML的成员,那么该Java类将会被映射…...
Git版本管理(05) git仓库迁移(保留原来记录分支体系)
说明:本文主要是一次git迁移仓库的实战记录。 1 迁移前的准备 仓库迁移前,需要将所有有必要的分支checkout到本地(想要转移到新仓库的分支就都 checkout一遍),接下来将old仓库从远程仓库克隆到本地: $git…...
科技与教育:未来教育的新趋势
在21世纪,科技的快速发展正在深刻地改变教育行业。从在线学习平台到虚拟现实教室,科技为教育带来了革命性的变化。本文将探讨科技如何影响现代教育,并预测未来教育的发展趋势。 一、科技在教育中的应用 在线学习平台:通过平台如C…...
E云管家微信群聊机器人开发
请求URL: http://域名地址/modifyGroupRemark 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId是String登录实例标识chatRo…...
CVE-2023-27524:Apache Superset未授权访问漏洞复现
文章目录 Apache Superset 未授权访问漏洞(CVE-2023-27524)复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.漏洞复现 0x06 修复建议 Apache Superset 未授权访问漏洞(CVE-2023-27524)复现 0x01 前言 免责声明:请勿利用文…...
机器学习——多元线性回归升维
机器学习升维 升维使用sklearn库实现特征升维实现天猫年度销量预测实现中国人寿保险预测 升维 定义:将原始的数据表示从低维空间映射到高维空间。在线性回归中,升维通常是通过引入额外的特征来实现的,目的是为了更好地捕捉数据的复杂性&#…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
