编程之美
dwyane的小屋
这个作者很懒,什么都没留下…
展开
-
中国象棋将帅问题与位域
看过《中国象棋将帅问题》的朋友都知道,这个问题的玄奥就在于“只能使用一个字节存储变量”,没有规定变量个数,所以对于这一个字节的处理就构成了这个问题的编程之美。作者给出了三个不同类型的算法,忘记的朋友马上翻书重温一下,这三种算法各有特色,这里就不一一列举,写这篇博文主要是想和大家分享一下第三种算法的相关知识。第三种算法的代码主体:struct { unsign原创 2012-10-08 21:39:20 · 577 阅读 · 0 评论 -
洗牌算法之Knuth Shuffle
洗牌这种技术活,我相信大家都有玩过,虽然手法各不相同,但是目的大部分应该是一样的,就是把牌的顺序打乱,创造一个公平的玩牌氛围。洗牌算法(Shuffling Algorithm),顾名思义,它的产生是用来解决类似洗牌这种场景的问题的,目的是产生一串等概率的随机列,使得很难去预测牌的顺序。现在的各种牌类游戏都有自己的洗牌算法,为了保证游戏的趣味性,各自的实现中都有自己考虑的因素添加在其中。原创 2012-10-09 22:57:15 · 8304 阅读 · 1 评论 -
马场上只有5条跑道,欲从25匹马中选出3匹最快的,求最少比赛次数
每次只能有5匹马参赛,故先将25匹马分成5组(A, B, C, D, E)。这5组进行组内比赛,此时进行了5场比赛,分别得出5组内的排名,(A1, A2, A3, A4, A5), (B1, B2, B3, B4, B5), (C1, C2, C3, C4, C5), (D1, D2, D3, D4, D5), (E1, E2, E3, E4, E5)。第6场比赛,(A1, B1, C1,原创 2013-03-19 22:46:54 · 2465 阅读 · 0 评论