stl, 水题
本题要点:
1、用 list 模拟即可。
2、题目可能的歧义的地方:
有两种选法,
选法1:每2个出列一个,
选法2:每3个出列一个。
结束条件,每完成一种选法后,如果剩下的数 <= 3, 则结束。
可能歧义的理解: 执行某种选法,执行过程中(还没结束), 当前的数的数量 <= 3, 此时就结束了。

#include <cstdio>
#include <cstring>
#include <iostream>
#include <list>
using namespace std;
const int MaxN = 5010;
int T, n;void handle(list<int> &li)
{list<int>::iterator it = li.begin();int cnt = 0;while(li.size() > 3){cnt = 0;it = li.begin();while(it != li.end()){++cnt;if(cnt % 2 == 0){it = li.erase(it);}else++it;}if(li.size() <= 3)return;cnt = 0;it = li.begin();while(it != li.end()){++cnt;if(cnt % 3 == 0)it = li.erase(it);else++it;}}
}void solve()
{list<int> li;for(int i = 1; i <= n; ++i)li.push_back(i);handle(li);list<int>::iterator it = li.begin();printf("%d", *it); ++it;while(it != li.end()){printf(" %d", *it);++it;}printf("\n");
}int main()
{scanf("%d", &T);while(T--){scanf("%d", &n);solve();}return 0;
}/*
2
20
40
*//*
1 7 19
1 19 37
*/

HOJ 1276 士兵队列训练问题(stl, 水题)相关推荐

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

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

  2. hdu4585 STL水题

    题意:       成立少林寺,刚开始有一个大师,id是1,攻击力是10E,现在陆续来人,每个人有自己的id,和自己的攻击力,但是每一个新来的要和之前的和尚pk,他必须选择和他攻击力差值最小的那个,如 ...

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

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

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

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

  5. 解题报告:hdu 1276 士兵队列训练问题 - 简单题

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

  6. hdu 1276 士兵队列训练问题 (详解)

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

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

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

  8. 【HDU - 1276】士兵队列训练问题 (报数问题 模拟)

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

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

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

最新文章

  1. 如何修改Linux主机名
  2. pyqt 多线程使用
  3. 【Matlab】找到矩阵中每个连通域的最小值
  4. php简单环境,PHP 简单的环境搭建
  5. java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
  6. 所有的iPhone设备cell的宽度都是320,解决办法是?
  7. Python_模块Module
  8. 神秘TTY:The TTY demystified
  9. APUE学习笔记:第五章 标准I/O库
  10. 计算机网络的商业价值和应用,计算机网络建模数学工具的分析与比较
  11. yoloV3运行速度测试报告
  12. python 动画场景_clarisse电影级CG场景渲染中文教学
  13. Charles--使用Charles抓Https包
  14. Pr入门学习之选择GPU加速
  15. silverlight java通信_Silverlight使用JavaSocket连接jabber服务器
  16. 按键精灵使用乐玩插件
  17. 12306的架构部署
  18. 鄭光弼 守夫 當坐吾座
  19. python json文件对比方法
  20. 翻译: Transformer一种用于语言理解的新型神经网络架构 Google AI

热门文章

  1. 双活数据中心概念及优缺点介绍
  2. 转盘抽奖图片html,html转盘抽奖
  3. 使用showdown.js打造自己的markdown编辑器,支持table
  4. 计算机术语root,root是什么意思
  5. Vmware中Linux 虚拟终端之间 无法切换 解决方法
  6. 求教吉他继续提高的方法
  7. 微信公众号修改业务域名、JS接口安全域名、网页授权域名
  8. 包装exp是什么意思_药瓶说明中EXP是什么意思?
  9. 华为云OBS究竟是什么?
  10. U8固定资产最重要的数据表