2012-02-13 81 views
1

循环赛比赛算法仅适用于每场比赛的团队比赛时工作正常。但是,如果一个体育比赛或比赛中有两个以上的球队在同一场比赛中相遇,那么该如何实施呢?例如一场彩票比赛,其中2到n支球队在2到n场比赛中相遇。如果可能的话,仍然保持所有球队都应该成为主队的限制(如果球队不能平分,那么可以接受的是尽可能少的球队不会成为主队)算法调度,多团队/游戏循环赛比赛

任何想法? 球队数量,比赛数量。可能每场比赛的球队数量可能是给定的。

回答

2

如果你需要3支队伍在比赛中进行比赛,你可以使用立方谴责(所以对于n个队伍来说,这将是n超立方体)。当然,这意味着每一支可能的球队都会与每支球队一起比赛 - 这就是大量的比赛。每队的比赛总数为(n-1)(n-2)/ 2。曾经玩过的总游戏是n *(n-1)(n-2)/ 3! (3是每场比赛的球队数量)。所以你可以有(n-1)(n-2)/ 3!在每个球队都能像家一样打球。所以,一般来说,如果我们每场比赛有k个队伍参加比赛,每个队伍的总比赛次数为(n-1)!/(n-k)!(k-1)!总的游戏是n!/(n-k)!k !,你可以有(n-1)!/(n-k)!k!比赛作为主场进行。

+0

谢谢,你是正确的唯一的实际解决方案,我正在做的事情是最大化每场比赛的球队到3。 – 2012-02-14 09:38:09