当前位置:网站首页 > 编程语言 > 正文

环形队列的基本运算(环形队列的基本运算方法)



Problem Description

某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。

Input

本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。

Output

共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。

Sample Input

Sample Output

分析题意:

  • 将n个数依次按1,2,1,2,1,2… … 标号,然后删除下标为2的数
  • 再将剩下的数依次按1,2,3,1,2,3… … 标号,然后删除下标为3的数
  • 循环以上两步

队列emplace_#include

队列emplace_队列emplace_02

队列emplace_取模_03

队列emplace_队列emplace_04

队列emplace_队列emplace_05

注意:

  • erase( it )的作用是删除迭代器指向的当前元素,并返回该迭代器下一参数的迭代器。写法:it = li.erase(it);
  • 注意最后一个元素后不能带空格,格式问题

AC代码

本题需要着重理解以下代码如何做到轮流对2和3取模,并且上轮删除对2取模为0的数,下轮删除对3取模为0的数

到此这篇环形队列的基本运算(环形队列的基本运算方法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 卡巴斯基如何改成中文(卡巴斯基安卓版设置中文)2025-06-11 09:36:07
  • 静态库和动态库的缺点(静态库和动态库的区别,以下说法错误的是)2025-06-11 09:36:07
  • ip加速器可以改ip吗(加速器可以改变ip吗)2025-06-11 09:36:07
  • bt136和bt137(bt136和bt137一样吗)2025-06-11 09:36:07
  • 手机wifi反复断开连接是什么问题华为(华为手机手机wifi反复断开连接)2025-06-11 09:36:07
  • Podoplanin翻译(ponied翻译)2025-06-11 09:36:07
  • vs显示行号快捷键(vs2013如何显示行号)2025-06-11 09:36:07
  • tp99(Tp999银手镯寿命有多长)2025-06-11 09:36:07
  • 女神异闻录5战斗系统介绍(女神异闻录5战斗系统介绍)2025-06-11 09:36:07
  • 操作系统课件(操作系统课程讲解)2025-06-11 09:36:07
  • 全屏图片