问题描述
有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。
问最后留下的是原来第几号的那位。
举个例子,8个人围成一圈:
1 2 3 4 5 6 7 8
第1次报数之后,3退出,剩下:
1 2 4 5 6 7 8 (现在从4开始报数)
第2次报数之后,6退出,剩下:
1 2 4 5 7 8 (现在从7开始报数)
第3次报数之后,1退出,剩下:
2 4 5 7 8 (现在从2开始报数)
第4次报数之后,5退出,剩下:
2 4 7 8 (现在从7开始报数)
第5次报数之后,2退出,剩下:
4 7 8 (现在从4开始报数)
第6次报数之后,8退出,剩下:
4 7 (现在从4开始报数)
最后一次报数之后,4退出,剩下:
7.
所以,最后留下来的人编号是7。

输入格式
一个正整数n,(1<n<10000)
输出格式
一个正整数,最后留下来的那个人的编号。
样例输入
8
样例输出
7
数据规模和约定
对于100%的数据,1<n<10000。

分析:使用双向队列,每次把队头的元素取出,根据cnt计数判断要不要取出,不需要取出就扔到队尾~

#include <iostream>
#include <queue>
using namespace std;
int main() {deque<int> dq;int n, cnt = 1;cin >> n;for (int i = 1; i <= n; i++)dq.push_back(i);while (dq.size() > 1) {int t = dq.front();dq.pop_front();if (cnt == 1 || cnt % 3 != 0)dq.push_back(t);cnt++;}cout << dq.front();return 0;
}

蓝桥杯 ALGO-75 算法训练 筛选号码相关推荐

  1. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  2. java 蓝桥杯算法训练 筛选号码(题解)

    试题 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一 ...

  3. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  4. 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法

    原文: 算法训练 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...

  5. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  6. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式

    题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...

  7. 蓝桥杯练习系统—算法训练 s01串

    第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...

  8. 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举

    资源限制 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M× ...

  9. 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)

    问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. 问最后留下的是原来第几号的那位. ...

最新文章

  1. 在Ubuntu 16.04.1 LTS上安装ats 5.3.2
  2. basler相机参数简要中文说明_Basler嵌入式视觉解决方案- 现推出首款适用于NXP(恩智浦)i.MX 8应用处理器系列的产品...
  3. IPC进程间通信 D-Bus(Desktop Bus)快速入门(以libdbus-glib库为例)
  4. JavaWeb(一)——web服务器、Tomcat安装和配置
  5. numpy(1)-numpy.ndarray
  6. 生产管理erp系统源码_仁和ERP企业管理系统提高生产管理流程
  7. AHK 中的字符串拼接和遍历操作
  8. 【Kafka】docker下kafka报错 IOException: Connection to xxx:19093 (id: 1002 rack: null) failed
  9. windows中启动 java -jar 后台运行程序
  10. JVM第四节:JVM 执行子程序
  11. 树状数组(区间,单点间操作)
  12. 如何解决stata数据管理器中变量变红的问题
  13. android 车牌输入键盘
  14. API平台都有的Appid、Appkey、Appsecret分别是什么意思?
  15. ambarella misc
  16. 一篇文章从0搞定计算机网络,面试小case
  17. java 批量读取excel表格内容_java 使用POI批量导入excel数据
  18. 记一次微信小程序源码反解包
  19. Learning and Meta-Learning of Stochastic Advection-Diffusion-Reaction Systems from Sparse Measuremen
  20. 计算机在英语课堂教学中的应用研究,现代化教学手段在英语教学中的应用研究...

热门文章

  1. 安卓java自实现mp3播放器,Android MediaPlayer实现音乐播放器实例代码
  2. qq邮箱html模板_用了这么多简历模板,发现只有QQ邮箱自带的模板最好用
  3. 修改路由器mac地址_你知道吗:路由器转发报文时,会剥掉MAC地址,重新封装
  4. java递归生成树结构_突破CRUD | 万能树Java工具类封装(源码)
  5. 附加数据库后登陆报错
  6. ZOJ 1013 Great Equipment(DP)
  7. Linux下嗅探又一实例截取
  8. Zoho 修复Desktop Central 中的又一个严重漏洞
  9. Ping of Death:速修复 TCP/IP RCE 漏洞 CVE-2020-16898
  10. 史上最大规模的 PPS DDoS 攻击现身,欧洲某大型银行遭殃