码迷,mamicode.com
首页 >  
搜索关键字:约瑟夫环问题    ( 197个结果
约瑟夫环问题
约瑟夫环问题// 约瑟夫环.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include #include #include /*常量定义*/ #define OK 0 //成功执行 #define Err_Memory -1 //内存分配错误...
分类:其他好文   时间:2015-08-06 18:32:19    阅读次数:116
MS笔试题 -- Joseph_Circle整理全
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析:本题就是有名的约瑟夫环问题。既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列...
分类:其他好文   时间:2015-08-05 22:22:13    阅读次数:367
45 - 圆圈中最后剩下的数字
题目要求: 0, 1, … , n-1 这 n 个数字排成一个圈,从数字 0 开始每次从这个圈里删除第 m 个数字。求这个圈剩下的最后一个数字。本题是约瑟夫环问题。 除了以下给出的2中解法,更高级的算法:约瑟夫问题的两个O(log n)解法1. 环形链表由于要不断地从圈里删除一个数字,容易想到用链表实现。用链表将这 n 个数字存储,头尾相连,每隔 m 个删除一个,最后剩下的即为结果。 由于...
分类:其他好文   时间:2015-07-30 23:27:22    阅读次数:215
约瑟夫环问题的链表解法和数学解法(PHP)
约瑟夫环问题一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。链表解法function king($n,$m){ $monky = range(1,$n); $i = 0;...
分类:Web程序   时间:2015-07-17 12:05:39    阅读次数:215
UVALive 3882--And Then There Was One+约瑟夫环问题变形
题目链接:点击进入 题目意思大概和约瑟夫环问题差不多,唯一的不同点在于起点改成了m;刚开始的时候我想直接链表模拟算了,但是后面一看,数据太大,就改用公式做了。约瑟夫环的公式是:f(n)=(f(n-1)+k)%n ,对于这个题起点为m,所以答案就会变成ans=(f(n)+m-k+1)%n; ans有可能小于0,此时我们要给他加上一个n,ans+=n。代码如下:#include...
分类:其他好文   时间:2015-07-16 11:49:51    阅读次数:201
POJ 2886 Who Gets the Most Candies?(线段树·约瑟夫环)
题意  n个人顺时针围成一圈玩约瑟夫游戏  每个人手上有一个数val[i]   开始第k个人出队  若val[k] 0 时向左数val[k]个  第m出队的人可以得到m的约数个数个糖果  问得到最多糖果的人是谁 约瑟夫环问题  n比较大 直接模拟会超时   通过线段树可以让每次出队在O(logN)时间内完成  类似上一道插队的题  线段树维护对应区间还有多少个人没出队  那么当我们知道出队的人...
分类:其他好文   时间:2015-07-13 22:34:13    阅读次数:237
约瑟夫环问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。求剩下最后的一个人的编号。 #include "stdafx.h" #include #include using namespace std; temp...
分类:其他好文   时间:2015-07-13 16:23:27    阅读次数:114
C++ 字符串编程训练2
今天讲的一道习题是很经典的约瑟夫环问题,其实lz对于链表的某些操作还不是太懂,所以在程序中有些地方还不太看得懂,这里借鉴的网上的做法,还请大牛能够解答我的疑惑,谢谢!标题:约瑟夫环说明:约瑟夫环是这么一个问题:已知n个人(编号1,2,。。。n)围坐在圆桌周围。从编号为k的人开始报数,数到m的人出列,...
分类:编程语言   时间:2015-07-13 11:51:13    阅读次数:212
约瑟夫环问题
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。稍微简化一下。 .....
分类:其他好文   时间:2015-07-09 06:15:54    阅读次数:86
Solution 18: 约瑟夫环问题
问题描述n个数字(0,1,...,n-1)形成一个圆圈,从数字0开始。每次从这个圆圈中删除第m个数字,然后从被删除的下一个继续删除第m个元素,以此类推。直到最后剩下一个数字,求出该数字。解决思路1. 使用循环链表模拟这一过程,计数器计数;2. 递归思路(图片来源:http://www.cnblogs...
分类:其他好文   时间:2015-07-06 12:05:52    阅读次数:104
197条   上一页 1 ... 11 12 13 14 15 ... 20 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!