当前位置: 首页 > news >正文

【数据结构入门训练DAY-21】信息学奥赛一本通T1334-围圈报数

文章目录

  • 前言
  • 一、题目
  • 二、解题思路
  • 结语

前言

本次训练内容

  1. STL库中队列的使用练习。
  2. 训练解题思维

一、题目

        有n个人依次围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所有的人全部出列为止。设n个人的编号分别为1,2,…,n,打印出列的顺序。

输入格式

n和m。其中n<=100

输出格式

出列的顺序。

样例输入

4 17

样例输出

1 3 4 2

二、解题思路

        这道题目是一道普通的出入队列操作的题目。我是使用计数器的模式控制它是否出队列;使用if-else判断,当它符合时,直接弹出队列的头;否则就是不断刷新队列,先队列依次出去,然后紧接着马上入队。实现代码如下:

#include<bits/stdc++.h>
using namespace std;int main() {int n,m;int sum=0;cin>>n>>m;queue<int> q;for (int i=1;i<=n;i++) {//首次入队q.push(i);}while (!q.empty()) {sum++;if (sum%m==0) {//用计数器判断是否输出cout<<q.front()<<" ";;q.pop();}else {//循环队列,直到所有的元素被输出。int temp=q.front();q.pop();q.push(temp);}}}

        要注意首次入队需要从1开始。

总结

        今天的题目没有太多难点;只需要理清楚思路,就可以很快的做出来,然后就是代码逻辑问题,今天的输出部分花了点时间思考,这个问题下次应该避免发生。今天的内容没有什么特别的事情发生。今天的内容就到这里吧,因为今天的题目相对普通,没有什么特别的地方了。

相关文章:

  • 深入解析C++ STL Stack:后进先出的数据结构
  • 新书推荐——《游·思——看世界 上》孔祥超 著
  • React Ref引用机制解析
  • 指定文件夹随机筛出图像
  • 卷积神经网络常用结构
  • # 构建和训练一个简单的CBOW词嵌入模型
  • 密码学(1)LWE,RLWE,MLWE的区别和联系
  • 语法长难句
  • 星火燎原:Spark技术如何重塑大数据处理格局
  • 设计模式--工厂模式详解
  • ubuntu系统下部署使用git教程
  • 配置Intel Realsense D405驱动与ROS包
  • mysql数据库查看进程
  • 使用react的ant-design-pro框架写一个地图组件,可以搜索地图,可以点击地图获取点击的位置及经纬度
  • 【Deepseek学习大模型推理】MOONCAKE: A KVCache-centric Architecture 第一部分引言部分
  • springboot集成openfeign
  • How to install cuda-toolkit on Dell XPS 9560 with Linux mint 21
  • 安全邮件系统的Maple实现详解
  • C# 设计原则总结
  • Sci期刊的编辑会对投稿论文进行查重吗?
  • 央行上海总部:受益于过境免签政策,上海市外卡刷卡支付交易量稳步增长
  • 广州远洋宾馆负一层配电房发生火情:明火已扑灭,无人员伤亡
  • 宫崎骏电影《幽灵公主》4K修复版定档五一
  • 特朗普称无意解雇鲍威尔,美国股债汇反弹、黄金高位下跌
  • 成都两宗宅地成功出让,民企四川联投溢价33%竞得郫都区宅地
  • 李家超率团访问浙江