本来我是不想学这个东西的,但是谁让他考试考到了呢? 约瑟夫问题: n个人(编号为0,1,...,n-1)围成一个圈子,从0号开始依次报数,每数到第m个人,这个人就得自杀,之后从下个人开始继续报数,直到所有人都死亡为止。问最后一个死的人的编号。 方法1:暴力 O(nm) 会打码的都知道。 方法2:白书 ...
分类:
其他好文 时间:
2017-10-08 22:28:56
阅读次数:
210
任务说明:数组,链表,队列,栈,都是线性结构。巧用这些结构可以做出不少方便的事情。 ...
分类:
其他好文 时间:
2017-10-08 12:57:06
阅读次数:
113
链表使用的是带头节点的双向循环链表: system.h: Status InitList(DuLinkList &L){ L = (DuLinkList)malloc(sizeof(DuLNode)); DuLinkList q,p; L->next = L; L->prior = NULL; q= ...
分类:
其他好文 时间:
2017-09-30 21:06:16
阅读次数:
258
File类递归练习(统计该文件夹大小) File类递归练习(删除该文件夹) File类递归练习(拷贝) File类递归练习(按层级打印) 递归练习(斐波那契数列) 递归练习(1000的阶乘所有零和尾部零的个数) 递归练习(1000的阶乘尾部零的个数) 集合练习(约瑟夫环) ###23.01_File ...
分类:
其他好文 时间:
2017-09-25 13:31:10
阅读次数:
211
package test;import java.util.Scanner;//键盘输入/** public class test{ public static void main(String[] args){ //提示输入总人数 System.out.println("请输入做这个游戏的总人数: ...
分类:
编程语言 时间:
2017-09-24 11:41:05
阅读次数:
183
需求:有n个人围成一圈,顺序排号, 从第1个人开始报数(从1到3),凡报到3的人退出圈子,问最后留下的是原来第几号的那位 代码逻辑 n个人,通过输入参数n,生成一个长度为n的列表 通过报数逻辑函数,只要数到3的就把那个位置相对应的列表值设置为0,同时留下的人数也要减1,直到剩下的人数为1,才退出循环 ...
分类:
编程语言 时间:
2017-09-12 20:56:31
阅读次数:
247
题目描述 n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。 感谢yh大神指出样例数据的错误。 输入输出格式 ...
分类:
其他好文 时间:
2017-09-11 15:16:32
阅读次数:
162
1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 1282 约瑟夫问题 1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 时间限制: 1 s 空间限制: 128000 KB 题目等级 ...
分类:
其他好文 时间:
2017-09-07 21:29:13
阅读次数:
142
约瑟夫问题描述:n个人围成一个圈,编号为0,1,2,..,n-1,设定一个常数k,然后从0号开始从1依次报数,报到k的那个人退出圈,后面一个人继续从1开始报数,依次类推,求最后剩下的人的编号 方法1:模拟游戏过程的方法,将n个人串成一个循环链表,不停地去遍历链表,直到最后剩下一个结点。优点:方法直观 ...
分类:
其他好文 时间:
2017-09-04 15:58:37
阅读次数:
223