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

【C++ 真题】P1996 约瑟夫问题

约瑟夫问题

题目描述

n n n 个人围成一圈,从第一个人开始报数,数到 m m m 的人出列,再由下一个人重新从 1 1 1 开始报数,数到 m m m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。

注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰 n − 1 n-1 n1 名小朋友,而该题是全部出圈。

输入格式

输入两个整数 n , m n,m n,m

输出格式

输出一行 n n n 个整数,按顺序输出每个出圈人的编号。

样例 #1

样例输入 #1

10 3

样例输出 #1

3 6 9 2 7 1 8 5 10 4

提示

1 ≤ m , n ≤ 100 1 \le m, n \le 100 1m,n100

题解

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 7;

int m,n;
queue<int> que;

int main(){
	cin>>n>>m;
	for (int i=1;i<=n;++i){
		que.push(i);
	}
	while(!que.empty()){
	
		for(int i=1;i<m;++i){
			int first = que.front();
			que.push(first);
			que.pop();
		}
		cout<<que.front()<<" ";
		que.pop();
	}
    
	return 0;
}


http://www.kler.cn/a/446203.html

相关文章:

  • 多音轨视频使用FFmpeg删除不要音轨方法
  • 物联网:全面概述、架构、应用、仿真工具、挑战和未来方向
  • html 中 表格和表单的关系与区别
  • 中化信息与枫清科技深化合作:共探“AI+”产业新生态
  • OpenHarmony-4.HDI 框架
  • 1小时放弃Rust(2): 两数之和
  • Python中的上下文管理器:从资源管理到自定义实现
  • 双臂机器人
  • Flutter 多个弹窗关闭指定弹窗
  • Vue.js前端框架教程13:Vue空值合并?? 可选链?.和展开运算符...
  • 域名和服务器是什么?域名和服务器是什么关系?
  • Verilog的testbench中模块实例化方法
  • 【网络安全】用 Frida 修改软件为你所用
  • 2025年前端面试热门题目——HTML|CSS|Javascript|TS知识
  • linux-多线程
  • 随手记:微信小程序穿透组件样式穿不过去,样式隔离
  • 【Spring】Spring的模块架构与生态圈—数据访问与集成(JDBC、ORM、Transactions)
  • ML 系列:第 41节 - 假设检验简介
  • html+css网页设计 旅游 移动端 雪花旅行社4个页面
  • 数据库基础-索引
  • Windows11 家庭版安装配置 Docker
  • 11_HTML5 拖放 --[HTML5 API 学习之旅]
  • 51c大模型~合集93
  • 电子电气架构---基于PREEvision的线束设计工作流程优化
  • .net core在linux导出excel,System.Drawing.Common is not supported on this platform
  • HTML、CSS页面资料库