2011-01-21 41 views
1

這個問題覺得它應該有一個名字。希望有人能夠認出它。一個組合和約束解決問題。我可以使用什麼算法?

有一個32個會員俱樂部。每週會員共同共進晚餐,將他們分成8桌,每桌4人。每個星期他們安排自己,以便他們總是和不同的人坐在一起。

是否有可能讓每個人都與其他人坐下一次?

我已經試過編程貪婪的方法,但它並沒有對這些數字的工作(它沒有用的4各4臺16會員俱樂部的工作,而不是36名成員與6 6個表人們)

雖然這聽起來像是一個家庭作業問題,但這實際上是來自我的朋友的媽媽,誰試圖組織這些晚餐。

+0

'來自我朋友的媽媽',太棒了!這真是一個數學問題,因此更適合math.stackexchange.com,但您可能會在這裏得到答案。 – 2011-01-21 06:05:40

+0

[創建不再有一個相交元素的組合]的可能重複(http://stackoverflow.com/questions/2955318/creating-combinations-that-have-no-more-one-intersecting-element) – 2011-01-21 07:18:47

+0

http:///en.wikipedia.org/wiki/Block_design是數學問題的一個起點。 – mcdowella 2011-01-21 19:26:47

回答

4

組裏有32人,所以你需要和其他31人共進晚餐。

因此,不可以和任何其他人共進晚餐一次。

31是一個素數。你必須一次與3人共進晚餐,因爲桌上有4人。無法與31人一起共進晚餐,3人一次不會重複或跳過任何人。 (31不能被3整除)。

QED

0

,然後去回溯這會給你所有可能的組合。

相關問題