CSP-201712-2-游戏

news2024/11/16 19:58:25

CSP-201712-2-游戏

解题思路

  1. 初始化变量:定义整数变量nk,分别用来存储小朋友的总数和淘汰的特定数字。然后定义了num(用来记录当前报的数)和peopleIndex(用来记录当前报数的小朋友的索引)。

  2. 初始化小朋友数组:通过一个循环,创建一个peopleArr数组,这个数组中的每个元素代表一个小朋友的编号,从1到n。

  3. 游戏逻辑处理:使用一个while循环来模拟报数和淘汰过程。这个循环会一直执行,直到只剩下一个小朋友(即peopleArr的大小变为1)。

  4. 淘汰规则:在每次循环中,首先检查当前报的数(num)是否满足淘汰条件:如果numk的倍数或者num的个位数等于k,那么当前报数的小朋友就会被淘汰。如果满足淘汰条件,使用erase方法从peopleArr中移除当前小朋友,并且人数n减一。如果被淘汰的是当前队列的最后一个人,则peopleIndex会通过% n自动回到队列开头。

  5. 更新报数和索引:如果当前小朋友没有被淘汰,那么报数索引peopleIndex将向前移动一位(考虑到循环队列,所以使用% n)。不管是否淘汰,每次循环结束时报数num都会递增。

完整代码

#include<iostream> 
#include<vector>
using namespace std;
int main() {
    int n, k;
    cin >> n >> k;
    int num = 1, peopleIndex = 0;
    vector<int>peopleArr(n);
    // 人员编号
    for (int i = 0; i < n; i++)
    {
        peopleArr[i] = i + 1;
    }
    while (true)
    {
        if (peopleArr.size() == 1) // 终止条件:只剩一个人
        {
            break;
        }
        if (num % k == 0 || num % 10 == k) { // 淘汰规则
            peopleArr.erase(peopleArr.begin() + peopleIndex); // 移除队伍
            n--; // 总人数-1
            peopleIndex = peopleIndex % n; // 更新循环队列
        }
        else
        {
            peopleIndex = (peopleIndex + 1) % n; // 更新循环队列
        }         
        num++; // 报数+1
    }
    cout << peopleArr[0];
    return 0; 
}

请添加图片描述

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

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

相关文章

《CrackCollect》

CrackCollect 类型&#xff1a;益智学习 视角&#xff1a;2d 乐趣点&#xff1a;趣味化英语学习&#xff0c;闯关增加学习动力 时间&#xff1a;2019 个人职责&#xff1a; 1、所有功能的策划讨论 2、所有开发工作 3、所有上架工作 此游戏旨在针对英语水平处于初级阶段的人&…

揭示 Wasserstein 生成对抗网络的潜力:生成建模的新范式

导 读 Wasserstein 生成对抗网络 (WGAN) 作为一项关键创新而出现&#xff0c;解决了经常困扰传统生成对抗网络 (GAN) 的稳定性和收敛性的基本挑战。 由 Arjovsky 等人于2017 年提出&#xff0c;WGAN 通过利用 Wasserstein 距离彻底改变了生成模型的训练&#xff0c;提供了一个…

前端监控与埋点

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

SINAMICS V90 PN 指导手册 第6章 BOP面板 LED灯、基本操作、辅助功能

概述 使用BOP可进行以下操作&#xff1a; 独立调试诊断参数查看参数设置SD卡驱动重启 SINAMICS V90 PN 基本操作面板 LED灯 共有两个LED状态指示灯&#xff0c;(RDY和COM)可用来显示驱动状态&#xff0c;两个LED灯都为三色(绿色/红色/黄色) LED灯状态 状态指示灯的颜色、状…

什么是VR虚拟现实|虚拟科技博物馆|VR设备购买

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种通过计算机技术模拟出的一种全新的人机交互方式。它可以通过专门的设备&#xff08;如头戴式显示器&#xff09;将用户带入一个计算机生成的虚拟环境之中&#xff0c;使用户能够与这个虚拟环境进行交互…

1小时网络安全事件报告要求,持安零信任如何帮助用户应急响应?

12月8日&#xff0c;国家网信办起草发布了《网络安全事件报告管理办法&#xff08;征求意见稿&#xff09;》&#xff08;以下简称“办法”&#xff09;。拟规定运营者在发生网络安全事件时应当及时启动应急预案进行处置。 1小时报告 按照《网络安全事件分级指南》&#xff0c…

centos7单节点部署ceph(mon/mgr/osd/mgr/rgw)

使用ceph建议采用多节点多磁盘方式部署&#xff0c;本文章仅作为单节点部署参考&#xff0c;请勿用于生产环境 使用ceph建议采用多节点多磁盘方式部署&#xff0c;本文章仅作为单节点部署参考&#xff0c;请勿用于生产环境 使用ceph建议采用多节点多磁盘方式部署&#xff0c;…

2024年2月文章一览

2024年2月编程人总共更新了5篇文章&#xff1a; 1.2024年1月文章一览 2.Programming Abstractions in C阅读笔记&#xff1a;p283-p292 3.Programming Abstractions in C阅读笔记&#xff1a;p293-p302 4.Programming Abstractions in C阅读笔记&#xff1a;p303-p305 5.P…

如何在jupyter notebook 中下载第三方库

在anconda 中找到&#xff1a; Anaconda Prompt 进入页面后的样式&#xff1a; 在黑色框中输入&#xff1a; 下载第三方库的命令 第三方库&#xff1a; 三种输入方式 标准保证正确 pip instsall 包名 -i 镜像源地址 pip install pip 是 Python 包管理工具&#xff0c;…

2024年腾讯云优惠券领取页面_代金券使用方法_新老用户均可

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

【IC前端虚拟项目】inst_buffer子模块DS与RTL编码

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 需要说明一下的是,在我所提供的文档体系里,并没有模块的DS文档哈,因为实际项目里我也不怎么写DS毕竟不是每个公司都和HISI一样对文档要求这么严格的。不过作为一个培训的虚拟项目,还是建议在时间充裕…

PaddleOCR的部署教程(实操环境安装、数据集制作、实际应用案例)

文章目录 前言 PaddleOCR简介 一、PaddleOCR环境搭建 因为我之前安装过cuda和cudnn&#xff0c;查看cuda的版本根据你版本安装合适的paddlepaddle版本&#xff08;之前没有安装过cuda的可以看我这篇文章Ubuntu20.04配置深度学习环境yolov5最简流程&#xff09; 1.创建一个…

ESP32 partitions分区表的配置

由于在使用ESP32会遇到编译出来的bin文件大于分区表的时候&#xff0c;因此需要我们修改分区表或者使用自定义分区表的方式来解决。&#xff08;项目是使用VScode来搭建和调试的&#xff0c;VScode YYDS&#xff09; 具体分区标的含义这里就不讲了&#xff0c;网上有很多文档介…

【MySQL】:高效利用MySQL函数实用指南

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. MySQL函数概论二. 字符串函数三. 数值函数四. 日期函数五. 流程函数&#x1…

C. Bitwise Operation Wizard

解题思路 可以相同先通过&#xff0c;找出最大值再通过每个数与取或&#xff0c;记录得值最大时的每个数其中的最小值与的最大 import java.io.*; import java.math.BigInteger; import java.util.Arrays; import java.util.BitSet; import java.util.HashMap; import java.ut…

StarRocks实战——携程酒店实时数仓

目录 一、实时数仓 二、实时数仓架构介绍 2.1 Lambda架构 2.2 Kappa架构 三、携程酒店实时数仓架构 3.1 架构选型 3.2 实时计算引擎选型 3.3 OLAP选型 四、携程酒店实时订单 4.1 数据源 4.2 ETL数据处理 4.3 应用效果 4.4 总结 原文大佬的这篇实时数仓建设案例有借…

代码随想录-回溯算法

组合 //未剪枝 class Solution {List<List<Integer>> ans new ArrayList<>();Deque<Integer> path new LinkedList<>();public List<List<Integer>> combine(int n, int k) {backtracking(n, k, 1);return ans;}public void back…

js中浏览器渲染原理

JavaScript&#xff08;JS&#xff09;是一种广泛使用的编程语言&#xff0c;特别是在Web开发中。在浏览器中&#xff0c;JS被用于实现动态网页效果、交互性和用户体验的提升。然而&#xff0c;要理解JS在浏览器中的工作原理&#xff0c;我们首先需要了解浏览器的渲染过程。 浏…

C++之函数,指针

函数 1&#xff0c;函数概述 作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干份程序块&#xff0c;每个模块实现特定的功能 2&#xff0c;函数的定义 函数的定义一般有五个步骤&#xff1a; 1&#xff0c…

【前端素材】推荐优质数医院办公后台管理系统网页Stisla平台模板(附源码)

一、需求分析 在线后台管理系统是指供管理员或运营人员使用的Web应用程序&#xff0c;用于管理和监控网站、应用程序或系统的运行和数据。它通常包括一系列工具和功能&#xff0c;用于管理用户、内容、权限、数据等。下面是关于在线后台管理系统的详细分析&#xff1a; 1、功…