排序问题学习c++ 跑步比赛

 问题是假定有25名短跑选手争夺前三名,赛场上有五条赛道,一次可以有五名选手同时比赛,比赛不计时,只看相应的名次,假如选手的发挥是稳定的,最少几次比赛才可以决出前三名。

#include <iostream> // 包含输入输出流头文件
#include <vector> // 包含vector容器头文件
#include <algorithm> // 包含算法头文件,用于排序int main() {int totalRunners = 25; // 总选手数int lanes = 5; // 赛道数int topPositions = 3; // 需要决出的名次数int heats = (totalRunners + lanes - 1) / lanes; // 计算初赛需要的场次,向上取整std::vector<int> topRunners; // 存储最优秀的选手// 初赛for (int i = 0; i < heats; ++i) { // 遍历每一场初赛topRunners.push_back(i * lanes + 1); // 每场比赛的第一名晋级}int finalRounds = 1; // 至少需要一场决赛// 如果晋级选手数超过赛道数,需要加赛while (topRunners.size() > lanes) { // 当晋级选手数大于赛道数时循环int additionalHeats = (topRunners.size() + lanes - 1) / lanes; // 计算需要的加赛场次std::vector<int> newTopRunners; // 存储新的晋级选手for (int i = 0; i < additionalHeats; ++i) { // 遍历每一场加赛newTopRunners.push_back(topRunners[i * lanes]); // 每场加赛的第一名晋级}topRunners = newTopRunners; // 更新晋级选手列表finalRounds++; // 增加一轮比赛}// 输出结果std::cout << "最少需要 " << heats + finalRounds << " 场比赛才能决出前三名。" << std::endl;return 0; // 程序正常结束
}

这个程序的逻辑如下:

  1. 首先进行初赛,每个赛道的第一名晋级。
  2. 如果晋级的选手数量大于赛道数,就需要进行加赛。
  3. 在加赛中,我们同样只取每场比赛的第一名晋级。
  4. 重复这个过程,直到晋级的选手数量不超过赛道数。
  5. 最后一场比赛就可以决出前三名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型预训练数据集及清洗框架介绍【简单版】

目录 一、常见数据集类型 &#x1f4da; 二、数据清洗框架对比 &#x1f9f9; SlimPajama MNBVC CC-NET 三、理想的清洗框架 &#x1f4af; 四、数据清洗核心流程 &#x1f504; 五、现有数据集反思 &#x1f914; 六 中文预训练数据集 &#x1f1e8;&#x1f1f3; 1…

AI Infra简单记录

向量数据库的作用 1. 在AI大模型训练过程中&#xff0c;向量数据库可以有效提升数据检索、特征提取等任务的效率。 2、在AI大模型推理过程中&#xff0c;向量数据库为大模型提供外挂知识库&#xff0c;提升模型时效性与准确性&#xff0c;提供缓存能力&#xff0c;减少调用开…

c语言中extern定义和引用其他文件的变量,(sublime text)单独一个文件编译不会成功

关键字extern的作用 这个很常见的都知道是定义一个外部变量或函数&#xff0c;但并不是简单的建立两个文件&#xff0c;然后在用extern 定义在另一个非最初定义变量的文件里 区分文件和编译运行的文件 例如&#xff0c;一个文件夹里有文件a.c和文件b.c,在sublime text中直接…

深入解析链表:解锁数据结构核心奥秘

一. 链表的定义 链表是一种线性数据结构&#xff0c;由一系列节点组成。每个节点包含两个部分&#xff1a; 数据域&#xff08;Data&#xff09;&#xff1a;存储节点的数据。指针域&#xff08;Pointer&#xff09;&#xff1a;存储指向下一个节点的地址。 链表的第一个节点…

【Linux】Wmware Esxi磁盘扩容

目录 一、概述 1.1 磁盘分区概念 1.2 LVM概念 二、扩容步骤 二、报错 一、概述 1.1 磁盘分区概念 在 Linux 中&#xff0c;每一个硬件设备都映射到一个系统的文件&#xff0c;对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文…

Linux 中的文本编辑

文章目录 Linux 中的文本编辑Vi 和 Vim 的基本介绍三种工作模式常用快捷键 Linux 中的文本编辑 在 Linux 系统中&#xff0c;内置了强大的文本编辑器 Vi 和其增强版本 Vim。 Vi 和 Vim 的基本介绍 Vim 作为 Vi 的增强版&#xff0c;具有出色的程序编辑能力&#xff0c;能以字…

论文辅导 | 基于贝叶斯优化-卷积神经网络-双向长短期记忆神经网络的锂电池健康状态评估

辅导文章 模型描述 准确估计电池健康状态是设备稳定运行的关键。针对当前健康状态研究中容量难以直接测量、估计模型调参费时等问题&#xff0c;提出基于多健康特征的贝叶斯优化&#xff08;BO&#xff09;算法优化卷积神经网络&#xff08;CNN&#xff09;与双向长短期记忆&a…

冯雷老师:618大退货事件分析

近日冯雷老师受邀为某头部电商36名高管进行培训&#xff0c;其中聊到了今年618退货潮的问题。以下内容整理自冯雷老师的部分授课内容。 一、引言 随着电子商务的蓬勃发展&#xff0c;每年的618大促已成为消费者和商家共同关注的焦点。然而&#xff0c;在销售额不断攀升的同时…

【详细教程】如何使用YOLOv10进行图片与视频的目标检测

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

datax入门(data-web的简单使用)——02

datax入门&#xff08;data-web的简单使用&#xff09;——02 1. 前言1.1 关于data-web官网1.1.1 源码下载1.1.2 datax-Web部署手册1.1.2.1 Linux环境部署手册1.1.2.2 本地开发环境部署手册 1.2 关于datax入门 2. 下载之后打包、启动、登录2.1 我的本地环境2.2 修改配置2.3 初始…

SQL数据库学习指南:从基础到高级

SQL数据库学习指南&#xff1a;从基础到高级 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨SQL数据库的学习指南&#xff0c;从基础到高级&…

html纯原生网页引入vue3版本的quill editor

效果图 版本 vueup/vue-quill v1.2.0vue3.3.8Element Plus v2.4.2 引入流程 找一个vue3的项目, 然后安装插件vue版本的quill: vue-quill npm install vueup/vue-quill --save官方地址&#xff1a;https://vueup.github.io/vue-quill/ 安装完成之后&#xff0c;把vue-quil插件下…

如何搭建数据安全架构?包含数据安全资产梳理、敏感数据发现、数据风险检测、安全态势感知等解决方案

如何搭建数据安全架构&#xff1f;包含数据安全资产梳理、敏感数据发现、数据风险检测、安全态势感知等解决方案。 搭建数据安全架构是一个复杂且系统化的过程&#xff0c;涉及多个方面和层次。以下是一个详细的方案&#xff0c;涵盖数据安全资产梳理、敏感数据发现、数据风险检…

详解HTTP:HTTP的一次请求

HTTP请求的发起 当用户通过浏览器或其他客户端发起一个HTTP请求来获取网页时&#xff0c;这个请求首先会在应用层构建。HTTP是一个基于TCP的应用层协议&#xff0c;它定义了客户端和服务器之间的通信格式和规则。 TCP封装 接下来&#xff0c;HTTP请求会被交给传输层的TCP协议进…

解开孤独症谱系障碍:原因与症状的深度洞察

孤独症谱系障碍&#xff0c;这个日益受到关注的话题&#xff0c;让许多人感到困惑和担忧。那么&#xff0c;它究竟是由什么原因引起的&#xff0c;又有哪些表现症状呢&#xff1f; 引起孤独症谱系障碍的原因目前尚未完全明确&#xff0c;但研究表明&#xff0c;可能与以下因素有…

深度解析:Transformer模型如何革新序列数据处理

标题&#xff1a;深度解析&#xff1a;Transformer模型如何革新序列数据处理 摘要 自2017年Google的论文《Attention Is All You Need》发布以来&#xff0c;Transformer模型以其独特的注意力机制&#xff0c;在自然语言处理&#xff08;NLP&#xff09;领域引起了革命性的变…

ROS2使用Python创建服务提供者、消费者

1.创建服务提供者 ros2 pkg create example_service_rclpy --build-type ament_python --dependencies rclpy example_interfaces --node-name service_server_02 service_server_02.py 代码 #!/usr/bin/env python3 import rclpy from rclpy.node import Node # 导入接口 …

量产工具一一显示系统(一)

目录 前言 一、项目介绍和应用 1.简单易用 2.软件可配置、易扩展 3.纯 C 语言编程 4.类似界面应用 二、项目总体框架 三、显示系统 1.显示系统数据结构抽象 &#xff08;1&#xff09;common.h &#xff08;2&#xff09;disp_manager.h 2.Framebuffer编程 &#x…

Java中的switch语句详解

Java中的switch语句详解 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来详细探讨一下Java中的switch语句。switch语句是Java中的一种多分支选择结构&…

Unity数据持久化3——Json

概述 基础知识 Json文件格式 Json基本语法 练习 可以搜索&#xff1a;Json在线&#xff0c;复制代码进去解析是否写错了。 Excel转Json C#读取存储Json文件 JsonUtility using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine;[Sy…