http://poj.org/problem?id=1012答案以954ms飘过,不过这道题可以轻松用打表过思路:如果我们把每个人位于数组中的原始编号记为绝对编号,每次循环过后相对于绝对编号为0的人的编号为相对编号,那么在这道题里,绝对编号是不重要的,只需要每次相对编号n都落在n>=k的位置上,那么...
分类:
其他好文 时间:
2015-05-05 21:12:42
阅读次数:
129
#include #include typedef struct Node{ int data; struct Node *next;}node;//创建约瑟夫环node* create(int n){ node *head,*p,*s; int i; head = (...
分类:
其他好文 时间:
2015-05-03 21:55:46
阅读次数:
97
引言 常见的约瑟夫环问题有用循环链表做的,有用数组做的,这里提供一个用数学公式做的,由此可见,很多计算机的问题如果最终用到数学的知识,时间复杂度会大大的降低 分析问题 首先我们对0到n-1删除第一个数进行分析,第一个被删除的数一定是序号为m-1的数,因为0号数了1,1号数了2,m-1号数了m,那么应...
分类:
编程语言 时间:
2015-05-03 20:28:43
阅读次数:
150
#include
#include
#define OK 1;
#define ERROR 0;
typedef int Status;
typedef int Elemtype;
typedef struct Cnode{
Elemtype data;
struct Cnode *next;
}CNode;
CNode *joseph;
Sta...
分类:
编程语言 时间:
2015-05-03 17:33:37
阅读次数:
121
记得大一学数据结构的时候用节点构成了一个循环链做过这个题,前几天偶然想到,为什么不用数组来做呢?用循环链做的/*
**********************************************************
*解法
*
*使用一个循环链,其中包含两个元素,一个为指向下一个人的
*节点,一个为是否出列的..
分类:
其他好文 时间:
2015-04-29 17:34:24
阅读次数:
113
题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个
为当前数字本身,第二个为当前数字的下一个数字) 。 当一个数字删除后,从被删除数字的下一个继续删除
第 m 个数字。求出在这个圆圈中剩下的最后一个数字
思路:这就是约瑟夫环问题,使用STL中的list来解决,是最基础的解决办法
int Joseph(list& ring,int...
分类:
其他好文 时间:
2015-04-29 09:59:37
阅读次数:
135
问题:有n个人站成环 从1开始报数,报k的人去死,之后下一个人报1,问当你是第几个的时候可以活下来?这篇文章主要是讲解f(n,k)=(f(n-1,k)+k)%n 这个公式是什么意思为什么是对的虽然公式是使用数学解法 但开始时我会手动的模拟过程 其是有意义的 十分有助于理解首先我们看样一个问题n=2,...
分类:
其他好文 时间:
2015-04-28 18:13:57
阅读次数:
189
题意:有k个好人和k个坏人进行约瑟夫环问题,好人在前面,坏人在后面(即好人编号为0...k - 1),求一个最小的m,使他们用m报数时所有坏人在有好人出局之前出局解法:一开始没怎么细想就写了个模拟……果断T了……于是想把结果打表……结果发现k = 13时根本跑不完……于是还是枚举m,推导每次出局的人...
分类:
其他好文 时间:
2015-04-25 12:12:01
阅读次数:
125
题目:约瑟夫环问题中,最后剩下的人是第几个人。如一共4个人,数到2的人出列,最后剩下的那个人是第1个人,返回1.
int Josephus(int n, int k)
{
if (n<=0 || k<1)
throw exception();
if (n==1)
return 1;//人为规定,n为1时返回1
int res=k%2;//只有两个人时,返回的人的下标(从零开...
分类:
其他好文 时间:
2015-04-22 11:38:09
阅读次数:
199
假定一共有n个人围成一圈,随机从某个人开始报数,从0报数,第m个报数的人(报数为m-1)从圈中删除。那么最后剩下的人的在第一轮中报数是多少(即,开始时候的编号是多少?)
假定这里剩下的人是JACK,令函数f (n,m)表示jack在首轮n个人中的编号
第一轮n个人理论上报数顺序应该是 0 1 2 。。。 n-1(只不过报到M-1之后,后面的人不用继续报出来,但是...
分类:
其他好文 时间:
2015-04-20 11:17:49
阅读次数:
142