作者GiantPenis (海屌七號)
看板logic
標題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)
1F:推 ivanos:條件二假設了可公開抽中何者禮物的條件 12/03 20:38
2F:推 ivanos:另外在某些情況下規則二等於強制不得互抽 12/03 20:42
3F:→ ivanos:一樓推文寫錯,是"規則"二假設了可公開抽中何者禮物的條件 12/03 20:44
4F:→ GiantPenis:規則二並沒有限制任何互抽的情況發生~ 12/03 22:26
5F:→ GiantPenis:基本上條件一就已經算可公開了,因為抽到自己時, 12/03 22:27
6F:→ GiantPenis:大家都知道那禮物是誰的了,有沒有條件二都一樣~ 12/03 22:28