首页 > 其他分享 >P1996 约瑟夫问题

P1996 约瑟夫问题

时间:2024-02-23 19:33:40浏览次数:21  
标签:出圈 idx int ne 约瑟夫 问题 num P1996 prev

题目描述

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

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

输入两个整数 n,mn,m。
输出格式

输出一行 nn 个整数,按顺序输出每个出圈人的编号。
输入输出样例
输入 #1

10 3

输出 #1

3 6 9 2 7 1 8 5 10 4

说明/提示

1≤m,n≤1001≤m,n≤100

题解

include<bits/stdc++.h>

using namespace std;
const int N=110;
int e[N],ne[N],idx,h=-1,n,m;
void add(int x)
{
e[idx]=x,ne[idx]=h,h=idx++;
}

void del(int x)
{
ne[x]=ne[ne[x]];
}
int main()
{
cin>>n>>m;
for(int i=n;i>=1;i--)
add(i);
ne[0]=h;
int k=0,prev=0,num=0;
for(int i=h;num!=n;i=ne[i])
{
k++;
if(k==m)
{
del(prev);
num++;
cout<<e[i]<<" ";
k=0;
}
prev=i;
}
return 0;
}

标签:出圈,idx,int,ne,约瑟夫,问题,num,P1996,prev
From: https://www.cnblogs.com/110527q/p/18030253

相关文章

  • 关于Linux中so显式链接(dlopen)找不到函数符号地址的问题
    摘自:https://blog.csdn.net/qq_27281753/article/details/127202676问题背景在做项目的时候,遇到一个so调用问题,既别人提供了一些so库,其中一个so库包含了给我调用的函数,而这个库里面的函数又调用了其他库的函数,这些所有的库都是linux下编译出来的,而项目则是需要在windows下用Qt交......
  • SSR解决了什么问题?有做过SSR吗?你是怎么做的?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、是什么Server-SideRendering 我们称其为SSR,意为服务端渲染指由服务侧完成页面的 HTML 结构拼接的页面处理技术,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程先来看看Web3个阶段的发展史:......
  • 程序员怎么做沟通?聊一聊程序员沟通相关的问题
    一、程序员不善言词在大家的印象中,程序员好像是一群不善言词的理工男。为什么大家会有这种刻板的印象呢?因为程序员的工作,只需要一台电脑,一根网线,就可以开始工作了。好像不需要与人打交道。一段进入到工作状态,编码的时候还不希望被别人打扰,其实是编码思路不愿意被打断。这时候,他......
  • mysql面试高频问题---mysql分库分表
    mysql分库分表1.问题主从架构,读写分离,分担了访问压力分库分表的时机:①前提,项目业务数据逐渐增多,或业务发展比较迅速(单表的数据量达到1000W或20G以后)②优化已解决不了性能问题(主从读写分离、查询索引…)③IO瓶颈(磁盘IO、网络IO)、CP\瓶颈(聚合查询、连接数太多)分库分表......
  • mysql面试高频问题---事务undo log和redo log的区别
    事务undolog和redolog的区别1.问题undolog和redolog都是mysql的日志文件,但是功能不一样。缓冲池(bufferpool):主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),以一定频率刷新到磁......
  • mysql面试高频问题---事务-MVCC多版本并发控制(难)
    MVCC多版本并发控制1.问题锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁)mvcc:多版本并发控制2.MVCC多版本并发控制MVCC全称Multi-VersionConcurrencyControl,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突MVCC的具体......
  • 记录pyinstaller 打包 pdfplumber 问题解决过程
    今天有一个pdf文件处理需求,使用pdfplumber库完成,python环境是3.11+win10pyinstaller5.10.1打包完成后,工具可以顺利打开,但是执行处理的时候报错File"pypdfium2_raw\bindings.py",line93,in<module>File"pypdfium2_raw\bindings.py",line83,in_register_library......
  • blazor 问题解决
    Cannotprovideavalueforproperty'ScrollToLocationHash'ontype'Microsoft.AspNetCore.Components.Routing.Router'.Thereisnoregisteredserviceoftype'Microsoft.AspNetCore.Components.Routing.IScrollToLocationHash'.异常信息......
  • 【计数】序列转等概率环问题
    问题描述有\(m\)个人要坐\(n\)个位置,每个人的选择方式如下。首先选择一个座位,选定一个方向(向左/右),然后找到从这个座位开始这个方向的第一个空座位。如果这时走到尽头都选不到座位,就声称这个人失败了。一个完美的方案当且仅当所有人都不失败,求完美方案数。\(1\leqm\leq......
  • 记一次gp扩容失败后无法回滚的问题
    异常描述gp版本:6.9.0异常信息:替换gp版本扩容后,gpexpand-r回滚失败,提示异常:Cataloghasbeenchanged,theclustercannotrollback.解决办法排查思路gpexpand文件:defrollback(self,dburl):"""Rollsbackandexpansionsetupthatdidn'tsuccessfullycom......