luoguP1996 约瑟夫问题
P1996 约瑟夫问题
- 2.5K通过
- 4.7K提交
- 题目提供者 Timothy
- 标签 洛谷原创 云端
- 难度 普及-
- 时空限制 1s / 128MB
题目背景
约瑟夫是一个无聊的人!!!
题目描述
n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.
输入输出格式
输入格式:
n m
输出格式:
出圈的编号
输入输出样例
10 3
3 6 9 2 7 1 8 5 10 4
说明
你猜,你猜,你猜猜猜......
猜不着吧,我也不告诉你!!!
///暴力
#include<iostream>
using namespace std; bool chu[];
int n,m,q,i,j; int main()
{
cin>>n>>m;
do
{
i++;
if(i==n+)
i=;
if(!chu[i])
q++;
if(q==m)
{
q=;
cout<<i<<" ";
chu[i]=true;
j++;
}
}while(j!=n);
return ;
}
2)
///队列+数组模拟链表
#include <iostream>
using namespace std; const int N = ;
int n,m,gs,k;
int q[N];///next is what(嘻嘻) int main()
{
cin>>n>>m;
for(int i=;i<n;i++)
q[i]=i+;
q[n]=;
int nxt=n;
while(gs<n)
{
k=;
while(k<m)
{
nxt=q[nxt];
k++;
}
cout<<q[nxt]<<" ";
gs++;
///delete the nxt
q[nxt]=q[q[nxt]];
}
return ;
}
luoguP1996 约瑟夫问题的更多相关文章
- 【luoguP1996】【luogu-original】约瑟夫问题
先来看题目: P1996 约瑟夫问题 题目背景 约瑟夫是一个无聊的人!!! 题目描述 n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人 ...
- 约瑟夫问题(java实现)
方法一.自定义的链表实现 package com.code.yuesefu; public class YueSeFuList { public static void main(String[] a ...
- Java 解决约瑟夫问题
约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环.又称“丢手绢问题”.) 有这样一个故事,15个教徒和15个非教徒在深海遇险必须讲 ...
- C#实现约瑟夫环问题
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace orde ...
- C语言数组实现约瑟夫环问题,以及对其进行时间复杂度分析
尝试表达 本人试着去表达约瑟夫环问题:一群人围成一个圈,作这样的一个游戏,选定一个人作起点以及数数的方向,这个人先数1,到下一个人数2,直到数到游戏规则约定那个数的人,比如是3,数到3的那个人就离开这 ...
- C语言链表实现约瑟夫环问题
需求表达:略 分析: 实现: #include<stdio.h> #include<stdlib.h> typedef struct node { int payload ; ...
- AC日记——约瑟夫问题 codevs 1282
1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 有编号从1到N的N个小 ...
- Have Fun with Numbers及循环链表(约瑟夫问题)
1. 循环链表(约瑟夫问题) https://github.com/BodhiXing/Data_Structure 2. Have Fun with Numbers https://pta.pate ...
- javascript中使用循环链表实现约瑟夫环问题
1.问题 传说在公元1 世纪的犹太战争中,犹太历史学家弗拉维奥·约瑟夫斯和他的40 个同胞被罗马士兵包围.犹太士兵决定宁可自杀也不做俘虏,于是商量出了一个自杀方案.他们围成一个圈,从一个人开始,数到第 ...
随机推荐
- Java面试知识点汇总
Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总 版权声明 ...
- 怎样创建并使用 vue 组件 (component) ?
组件化开发 需要使用到组件, 围绕组件, Vue 提供了一系列功能方法, 这里仅记录组件的 最简单 的使用方法. 1. 通过 Vue.component(tagName, options) 注册一个 ...
- Scala学习三——数组相关操作
一.若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer 固定长度数组: 如val nums=new Array[Int](10) //10个整型数组,所有元素初始化为0; val ...
- 一个小时前,美国主流媒体,头条,谷歌两位创始人突然宣布退下来,把万亿美元的帝国交给Sundar Pichai
一个小时前,美国各大主流媒体头条,谷歌两位创始人,放弃了万亿美元的帝国控制权,交给了CEO Sundar Pichai.
- O048、掌握 cinder-scheduler 调度逻辑
参考https://www.cnblogs.com/CloudMan6/p/5589707.html 上一节我们详细讨论了cinder-api 和 cinder-volume ,今天讨论另一个重要 ...
- nested exception is org.apache.ibatis.binding.BindingException
mybatis出错 xml文件: <update id="decreaseStock"> update item_stock set stock = stock - # ...
- canva绘制圆角矩形
在做组态的时候,需要支持矩形圆角格式,但是因为canvas本身不带有圆角矩形,需要自行算出坐标进行绘制 方案一.统一圆角 <!DOCTYPE html> <html> < ...
- ubuntu - 14.10,解决按照最新版Gnome 15.10后,经典Gnome桌面字体问题!
ubuntu14.10刚安装完毕,我首先按照了经典Gnome桌面,随后我发现ubuntu软件中心里面能找到的软件明显不如先前我安装过的ubuntu了,我觉得有可能是因为我以前安装的ubuntu14.1 ...
- MySQL的基本操作一
本文主要涉及到的SQL知识点包括CREATE创建数据库和表.INSERT插入数据.SUM()求和.GROUP BY分组.DATE_FORMAT()格式化日期.ORDER BY排序.COUNT()统计行 ...
- 获得npm server 上 package 的版本信息
通过这个命令可以获取package 的历史版本信息 npm view packagename versions