对于我们参加小组赛(2vs2)的小型扑克锦标赛,我需要创建一个谁打算对谁打比赛的“计划”。搜索一个算法来进行“匹配”
“规则”是:
- 我们有多个团队,分别由一对选手的。
- 我们在比赛中有几个“回合”。
- 回合的数量低于球队的数量。
目标是制定一个计划,在这个计划中,没有一个团队会对另一个团队进行两次打球。
我尝试了回溯的“重”方式,但正如我想的那样,复杂性很大,而且我们很快有大量的可能性来计算,所以我正在寻找一种能够使我成为一个计划的算法很快。
这里是我想要的输出为例,它已经与我的“重道”中产生:
Tournament with 16 teams and 10 rounds
Round 0
Team 0 versus Team 1
Team 2 versus Team 3
Team 4 versus Team 5
Team 6 versus Team 7
Team 8 versus Team 9
Team 10 versus Team 11
Team 12 versus Team 13
Team 14 versus Team 15
Round 1
Team 0 versus Team 2
Team 1 versus Team 3
Team 4 versus Team 6
Team 5 versus Team 7
Team 8 versus Team 10
Team 9 versus Team 11
Team 12 versus Team 14
Team 13 versus Team 15
Round 2
Team 0 versus Team 3
Team 1 versus Team 2
Team 4 versus Team 7
Team 5 versus Team 6
Team 8 versus Team 11
Team 9 versus Team 10
Team 12 versus Team 15
Team 13 versus Team 14
Round 3
Team 0 versus Team 4
Team 1 versus Team 5
Team 2 versus Team 6
Team 3 versus Team 7
Team 8 versus Team 12
Team 9 versus Team 13
Team 10 versus Team 14
Team 11 versus Team 15
Round 4
Team 0 versus Team 5
Team 1 versus Team 4
Team 2 versus Team 7
Team 3 versus Team 6
Team 8 versus Team 13
Team 9 versus Team 12
Team 10 versus Team 15
Team 11 versus Team 14
Round 5
Team 0 versus Team 6
Team 1 versus Team 7
Team 2 versus Team 4
Team 3 versus Team 5
Team 8 versus Team 14
Team 9 versus Team 15
Team 10 versus Team 12
Team 11 versus Team 13
Round 6
Team 0 versus Team 7
Team 1 versus Team 6
Team 2 versus Team 5
Team 3 versus Team 4
Team 8 versus Team 15
Team 9 versus Team 14
Team 10 versus Team 13
Team 11 versus Team 12
Round 7
Team 0 versus Team 8
Team 1 versus Team 9
Team 2 versus Team 10
Team 3 versus Team 11
Team 4 versus Team 12
Team 5 versus Team 13
Team 6 versus Team 14
Team 7 versus Team 15
Round 8
Team 0 versus Team 9
Team 1 versus Team 8
Team 2 versus Team 11
Team 3 versus Team 10
Team 4 versus Team 13
Team 5 versus Team 12
Team 6 versus Team 15
Team 7 versus Team 14
Round 9
Team 0 versus Team 10
Team 1 versus Team 11
Team 2 versus Team 8
Team 3 versus Team 9
Team 4 versus Team 14
Team 5 versus Team 15
Team 6 versus Team 12
Team 7 versus Team 13
当你不能打n-1场比赛(其中n是球队的数量)时,我总是建议瑞士体系。 http://en.wikipedia.org/wiki/Swiss-system_tournament – xanatos 2011-03-14 20:05:05