当前位置: 首页 > news >正文

【J1】【队列】报数游戏

题目描述

有 n 个小朋友围成一圈玩游戏,小朋友从 1 至 n 编号,2 号小朋友坐在 1 号小朋友的顺时针方向,3 号小朋友坐在 2 号小朋友的顺时针方向,……,1 号小朋友坐在 n 号小朋友的顺时针方向。

游戏开始,从 1 号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加 1。

若一个小朋友报的数为 k 的倍数或其末位数(即数的个位)为 k,则该小朋友被淘汰出局,不再参加以后的报数。

当游戏中只剩下一个小朋友时,该小朋友获胜。

例如,当 n=5,k=2 时:

1 号小朋友报数 1

2 号小朋友报数 2 淘汰;

3 号小朋友报数 3;

4 号小朋友报数 4 淘汰;

5 号小朋友报数 5;

1 号小朋友报数 6 淘汰;

3 号小朋友报数 7;

5 号小朋友报数 8 淘汰;

3 号小朋友获胜。

给定 n 和 k,请问最后获胜的小朋友编号为多少?

输入

输入一行,包括两个整数 n 和 k,意义如题目所述。

数据范围

对于所有评测用例,1≤n≤1000,1≤k≤9。

输出

输出一行,包含一个整数,表示获胜的小朋友编号。

样例输入

5 2

样例输出

3

提示

来源

#include<bits/stdc++.h>
using namespace std;
int n,k;
queue<int>p;
int main(){cin>>n>>k;for(int i=1;i<=n;i++){p.push(i);}int s=1;while(p.size()>1){if(s%k==0||s%10==k){p.pop();}else{int t=p.front();p.pop();p.push(t);}s+=1;}cout<<p.back();return 0;}

http://www.lryc.cn/news/20228.html

相关文章:

  • 《程序员的自我修养》阅读笔记
  • 【跟着ChatGPT学深度学习】ChatGPT带我入门深度学习
  • 软工2023个人作业一——阅读和提问
  • 【Redis】线程模型:Redis是单线程还是多线程?
  • FSM(有限状态机)
  • 奇妙的background-clip:text
  • Vmware虚拟机无法联通主机解决方法二
  • Boost资料整理备忘
  • 规则引擎与风控系统01:新问题,新挑战
  • Oracle-00-卸载篇
  • Java线程池使用与原理解析1(线程池优点、使用方法、参数含义及线程池运转机制)
  • windows下编译leveldb(动态库+静态库)
  • 如何用76行代码写一个AI微信机器人......
  • 拿下域控后,我还是对大佬的操作念念不忘
  • 实习-----Mybatis 框架
  • 【Linux】孤儿进程 | 环境变量 | 命令行参数 | 进程优先级
  • Matlab字符串相关操作-拼接、格式化
  • 死磕Spring系列,SpringBoot启动流程
  • 关于条件变量wait操作中锁的作用
  • JUC并发编程与源码分析笔记09-原子类操作之十八罗汉增强
  • 含分布式电源的配电网日前两阶段优化调度模型(Matlab代码实现)
  • FreeRTOS的Delay函数
  • HCIA-HarmonyOS Application Developer——题目集1
  • 高性能 Message ToJavaBean 工具 【easy.server.mapper】
  • Web前端学习:三 - 练习
  • 面试题:Android 中 Intent 采用了什么设计模式?
  • Java数据类型与变量
  • Python为CANoe工程添加/删除DBC文件
  • 不同的产品经理特征和需要的能力
  • webpack之处理样式资源