作者GiantPenis (海屌七号)
看板logic
标题Re: [请问] 请问抽签
时间Wed Dec 3 22:47:32 2008
※ 引述《GiantPenis (海屌七号)》之铭言:
: 标题: Re: [请问] 请问抽签
: 时间: Wed Dec 3 12:37:15 2008
:
: 想到演算解法了
:
: 假设有十个人,关键在於不能让前九个人形成一个送礼回圈,导致最後一个无解。
: 要解决这个问题,又要能先後一个个拿走礼物,要建立一条能容许各种组合,
: 但又能规避这个bug的解法............
:
: 解法:
: 第一条规则,假设有十个人,把人编号一到十,然後准备十张卡片,从一号开始抽,
: 依序抽到最後一号,抽到自己的号码,则放回去,再抽一次。
: [这是第一个规则,跟之前题的解法一样,但现在要加入另一条规则,解决bug]
: 第二条规则,被一号抽到的那个礼物号码,这礼物的持有人,要最後再抽]
: 比如,一号抽到五号,那往後就是依照第一条规则,
: 从2,3,4,6,7,8,9,10,5这顺序抽到完...
:
: 加入第二条件後,这演算法就能吻合先後依序送礼完,
: 且自动排除前九人形成闭回圈的特例...
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.116.205.180
: ※ 编辑: GiantPenis 来自: 140.116.205.180 (12/03 17:09)
: 推 ivanos:条件二假设了可公开抽中何者礼物的条件 12/03 20:38
: 推 ivanos:另外在某些情况下规则二等於强制不得互抽 12/03 20:42
规则二没有强制不能发生互抽~
之後也许会发生二号跟三号互抽的情况,或是其它多人小回圈互抽的任何解...
: → ivanos:一楼推文写错,是"规则"二假设了可公开抽中何者礼物的条件 12/03 20:44
: → GiantPenis:规则二并没有限制任何互抽的情况发生~ 12/03 22:26
: → GiantPenis:基本上条件一就已经算可公开了,因为抽到自己时, 12/03 22:27
: → GiantPenis:大家都知道那礼物是谁的了,有没有条件二都一样~ 12/03 22:28
这演算法唯一瑕疵,我觉得只有公开[哪个奖品是谁的]这个资讯,似乎在无第三者情况下,
这游戏要进行,公开此一资讯,本来就是无法避免的事...
如果规则要连这条件都避开,会太严苛了... [不知道可不可以证明无解 =.= ]
至於有第三者的情况,那当然好解多啦,直接由他做乱数分配,符合条件即可,
礼物包装又全部一模一样,这样每个收礼的人,都不知道这礼物是谁送的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.205.180
1F:推 ivanos:三个人的情况,规则二就是强制不能互抽 12/04 20:56
2F:推 luciferii:三个人一定要强制不能互抽吧... 12/04 21:48
3F:推 ivanos:那要看强制不能互抽是否为原始条件 12/04 22:41
4F:推 luciferii:三人如果允许互抽,将违反原题。原题意已可直接推出3人 12/04 23:34
5F:→ luciferii:强制不可互抽,毋须另外声明。 12/04 23:34