N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数 ...
分类:
其他好文 时间:
2017-07-26 01:59:43
阅读次数:
123
约瑟夫环 一、心得 二、题目及分析 约瑟夫环 三、代码及结果 1、 2、约瑟夫环(pre) 3、约瑟夫环(链) ...
分类:
其他好文 时间:
2017-07-22 09:55:27
阅读次数:
171
1073 约瑟夫环 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 1073 约瑟夫环 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 1073 约瑟夫环 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 N个人 ...
分类:
其他好文 时间:
2017-07-21 01:32:35
阅读次数:
186
首先把上面的双向链表改为循环双向链表 编码实现约瑟夫环 ...
分类:
其他好文 时间:
2017-07-12 15:10:33
阅读次数:
143
问题: 设编号为1,2,…,n的n个人围坐一圈(每个人有一个密码(正整数)),约定编号为k(1<=k<=n)的人从1开始报数,报到m的那个人出列,将他的密码作为新的m值,他的下一位开始重新从1报数。以此类推,直到所有人全部出列,计算出列顺序? 解决思路: 循环链表 代码: 1 <?php 2 /** ...
分类:
其他好文 时间:
2017-07-10 23:48:39
阅读次数:
172
数据结构从零开始之线性表 线性表 线性表在计算机中可以用顺序存储和链式存储两种存储结构来表示。 其中用顺序存储结构存储的叫做顺序表。 用链式存储结构表示的叫做链表。 顺序存储 地址连续 预先分配内存,可能会导致浪费 查改容易,直接通过下标就可以访问 增删不方便,每一次增加或者删除,后面的所有数据元素 ...
分类:
其他好文 时间:
2017-07-07 19:56:40
阅读次数:
171
学编程的人肯定接触过“斐波那契数列”和“约瑟夫环”,这里给出两种代码的写法意思不在于体会不同。而是要找到方法。也就是我们所说的数据结构和算法。基础很重要,以此告诫自己莫要追逐PHP华丽的函数。 ...
分类:
其他好文 时间:
2017-07-05 01:14:31
阅读次数:
201
什么是约瑟夫环问题? 而这实际上就是一个经典的数学问题: 而用一个更生活化的例子来阐述:几个人围坐在一张圆桌上,然后开始数数,数到指定数则淘汰,然后再重1开始数,直到还剩最后一个人则为胜利者。 而具体代码如何来实现呢? 首先还是基于上次的那个链表进行扩展: ...
分类:
其他好文 时间:
2017-07-01 17:20:22
阅读次数:
215
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 下面我们用循环列表模拟这个过程: ...
分类:
其他好文 时间:
2017-06-12 00:42:06
阅读次数:
296
解说 http://poj.org/problem?id=3517 n个人,编号为1~n。每次从1開始数,数到m的人出圈。最后一个出圈的人的编号。 f[1] = 0; for(int i = 2; i <= n; i++) { f[i] = ( f[i-1] + m)%i; } printf("%d ...
分类:
其他好文 时间:
2017-06-08 16:37:26
阅读次数:
135