简单约瑟夫环 系列(1)【简单一维数组】
2016-03-16 00:00
330 查看
摘要: 约瑟夫环的入门级解法。
约瑟夫问题简述:N个人围成一圈,从第一个开始报数,第M个将被杀掉,求最后剩下的那一个人。
eg.
如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。
1号位置的人活下来了。
话不多说,上代码。
时间复杂度为O(nm)
约瑟夫问题简述:N个人围成一圈,从第一个开始报数,第M个将被杀掉,求最后剩下的那一个人。
eg.
如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。
1号位置的人活下来了。
话不多说,上代码。
时间复杂度为O(nm)
#include<iostream> #include<stdio.h> #define N 101 using namespace std; int main(){ //freopen("in.txt","r",stdin); int n,m; bool a ={0};//0为人还在,1为人不在 int deathNum=0;//记录出局人数 int count=0;//用来数数 int i=0;//用来遍历 while(cin>>n>>m){ do{ ++i; if(i>n) i=1; if(a[i]==0) count++; if(count==m) { count=0; a[i]=1;//此人已出局 deathNum++; cout<<i<<' '; } }while(deathNum!=n); } //fclose(stdin); return 0; }
相关文章推荐
- 深入理解约瑟夫环的数学优化方法
- 批处理解约瑟夫环应用题代码
- java 实现约瑟夫环的实例代码
- php解决约瑟夫环示例
- 详解约瑟夫环问题及其相关的C语言算法实现
- C++循环链表之约瑟夫环的实现方法
- 约瑟夫环问题(数组法)c语言实现
- python超简单解决约瑟夫环问题
- 【OJ日志】超级约瑟夫
- 约瑟夫自杀环
- 约瑟夫环
- 数据结构复习(重写某些重要数据结构API) ------------约瑟夫环
- 约瑟夫环数学解法
- 循环链表实现Joseph环(约瑟夫环)猴子选大王类似问题
- poj 1012 约瑟夫置换
- poj 2244 约瑟夫环
- xcode-C语言出接触_约瑟夫环_循环链表
- 黑马程序员-C语言-约瑟夫环
- 学习笔记——约瑟夫环
- <c++>利用deque容器,解决约瑟夫环问题