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

环形队列的基本运算(环形队列的基本运算方法)Problem Description 某部队进行新兵队列训练 将新兵从一开始按顺序依次编号 并排成一行横队 训练的规则如下 从头开始一至二报数 凡报到二的出列 剩下的向小序号方向靠拢 再从头开始进行一至三报数 凡报到三的出列 剩下的向小序号方向靠拢 继续从头开始进行一至二报数 以后从头开始轮流进行一至二报数 一至三报数直到剩下的人数不超过三人为止 Input 本题有多个测试数据组

大家好,我是讯享网,很高兴认识大家。



Problem Description

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

Input

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

Output

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

Sample Input

2
20
40

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-05-08 23:35
下一篇 2025-05-09 22:54

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176765.html