2

我有一个算法,它使用平衡算法创建循环锦标赛,它为以下游戏创建了四个池大小。

1-2 Round 1
3-4 Round 1
1-3 Round 2
2-4 Round 2
1-4 Round 3
2-3 Round 3

我希望比赛的主客场比赛数量尽可能平衡。从上面可以看出,1 始终是比赛中的第一支球队,即客队,但希望在比赛中平衡这一点,有时将其设为主队。你可以在下面看到我切换了 2 轮比赛,所以 1 可以打主场,4 可以打客场。在弄清楚游戏之后,是否有一个简单的算法来完成这个?

1-2 Round 1
3-4 Round 1
3-1 Round 2
4-2 Round 2
1-4 Round 3
2-3 Round 3
4

1 回答 1

3

对于这个简单的案例(同一支球队之间没有重复的比赛,需要在不同的地点进行),您可以计算每一对:

X = (Team_Number_1 + Team_Number_2) % 2

并交换 X = 0 的配对。假设人数较少的球队最初总是配对中的第一个(并且您这样描述列表),这应该会导致主客场比赛的最佳分配。

于 2012-05-14T07:34:23.057 回答