题目

士兵队列训练问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8309    Accepted Submission(s): 3713

Problem Description
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
Input
本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。
Output
共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。
Sample Input
2 20 40
Sample Output
1 7 19 1 19 37

思路

模拟题。。。我用的是两个队列进行模拟。。。

代码

#include <bits/stdc++.h>using namespace std;int main()
{int N;cin >> N;while (N--) {int m;cin >> m;queue<int> q1, q2;for (int i = 1; i <= m; i++){q1.push(i);}int tag = 1;for (; ; ) {if (q1.size() <= 3) {tag = 1; break;}while (!q1.empty()) {q2.push(q1.front());q1.pop();if(!q1.empty())q1.pop();}if (q2.size() <= 3) {tag = 2; break;}while (!q2.empty()) {q1.push(q2.front());q2.pop();if(!q2.empty()) {q1.push(q2.front());q2.pop();}if(!q2.empty())q2.pop();}}if (tag == 1) {cout << q1.front() ;q1.pop();while (!q1.empty()) {cout << " " << q1.front();q1.pop();}cout << endl;}else {cout << q2.front() ;q2.pop();while (!q2.empty()) {cout << " " << q2.front();q2.pop();}cout << endl;}}return 0;
}

士兵队列训练问题 HDU - 1276相关推荐

  1. F - 士兵队列训练问题 HDU - 1276

    题目 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的 ...

  2. hdu 1276 士兵队列训练问题

    士兵队列训练问题 HDU - 1276 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行 ...

  3. 士兵队列训练问题(队列+超详细解析)

    士兵队列训练问题 HDU - 1276 目录 士兵队列训练问题 HDU - 1276 题意描述:输入的新兵人数,按照先报1.2,将2出列:接着按1.2.3报数,将3出列.重复上述循环,直到所剩人数不超 ...

  4. 士兵队列训练问题 (HDU - 1276)

    士兵队列训练问题 题目 题目 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数 ...

  5. hdoj 1276 士兵队列训练问题 模拟队列

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  6. 杭电1276:士兵队列训练问题

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. 1276 士兵队列训练问题【队列模拟】

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  8. HDU1276 士兵队列训练问题【模拟+array+vector+list】

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  9. 士兵队列训练问题 (队列 c++)

    士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

最新文章

  1. minheight能继承吗_借父母名买房到底归谁?其他兄妹能继承吗?
  2. 弹出框的鼠标拖拽事件
  3. Day02-深度学习原理与使用方法
  4. C语言malloc,free的用法
  5. mysql中insert into select from的使用
  6. configure: error: Please fix the library issues listed above and try again.解决方案
  7. 使用Docker-数据卷命令
  8. “中科院博士后当辅警”,网友却吵翻了:家里有矿?
  9. picacg服务器维护,picacg的服务器地址是什么
  10. 下一代SQL 产品发布会,诚邀您的参加!!包含 Azure数据服务、高级分析和SQL Server(其中包括支持Linux的SQL Server vNext)。
  11. python必备入门代码-初学必备:1分钟带你认识Python的代码(上)
  12. 我的ROS学习之路——服务通信
  13. 腾讯电脑管家具有计算机病毒查杀功能,腾讯电脑管家算杀毒软件吗_腾讯电脑管家不仅仅是杀毒软件-高达阁杀毒软件站...
  14. 共模和差模电感电路分析方法及思路
  15. HWADDR配置错误导致network重启失败处理
  16. 移动开发之三种近场通信
  17. 笔记本电脑安装Debian11系统
  18. 每次打开Photoshop显示失败恢复文件清理方法
  19. 【Vue】 Vue生命周期详解
  20. VMware Workspace ONE UEM安装部署

热门文章

  1. JAVA日志技术 Logback
  2. ubuntu windows远程桌面 xfce4
  3. html 仿阿里双11成交额统计,2019天猫双十一 令人震撼的销售数据
  4. android上怎样让一个Service开机自动启动
  5. Android开发英语听力软件,基于Android平台的大学英语听力学习系统的设计与实现...
  6. 粒子群算法python_python实现粒子群算法
  7. CentOS是什么服务器系统
  8. Android 使用BRVAH 实现二级菜单。类似QQ分组
  9. 微信小程序项目实例SSM项目源代码会议预约管理+后台
  10. 文件夹中是微信的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的),参照笔记,求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?