摘要:
n个人围成一圈,数到m得人出列,下面得人继续数,求最后一个人的编号,这就是约瑟夫问题。可以看http://www.cppblog.com/Victordu/archive/2008/02/22/43082.html一个倒推得解法:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是m%n-1) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始): k k+1 k+2 ... n-2, n-1, 0, 1, 2, ... k-2 并且从k开始报0。现在我们把他们的编号做一下. 阅读全文
posted @ 2011-09-24 12:10
酱油哥
阅读(153)
评论(0)
推荐(0)

浙公网安备 33010602011771号