首页 > 解决方案 > 我需要一个逻辑算法来对程序中的足球联赛数学进行排序

问题描述

我举办了一场足球锦标赛(并编写了一个系统来管理它)。比赛是一个联赛,有 3 组,每组 10 支球队(共 30 支球队)。每支球队都必须与不在同一组的其他球队比赛。

例子

A 组 TeamA1 TeamA2 TeamA3 TeamA4 TeamA5 TeamA6 TeamA7 TeamA8 TeamA9 TeamA10

B组 TeamB1 TeamB2 TeamB3 TeamB4 TeamB5 TeamB6 TeamB7 TeamB8 TeamB9 TeamB10

C 组 TeamC1 TeamC2 TeamC3 TeamC4 TeamC5 TeamC6 TeamC7 TeamC8 TeamC9 TeamC10

因此,例如,A 组的每支球队都必须与 B 和 C 的每支球队比赛,但不能与 A 组的球队比赛,依此类推。

比赛持续20天,当然每天有15场比赛。

我需要某种系统来生成每天匹配的规则,从而避免团队面对相同的团队。

我需要关于逻辑的帮助,然后我可以将其转换为代码。这听起来可能并不难实现,但我很努力!

非常感谢!

标签: sortingmathlogic

解决方案


我将如何做到这一点如下:

遍历 A 组,因为 AI 上的每个团队都会通过 B 组和 C 组将他们与一个团队匹配,并将每个配对保存在某种变量中。这将创建所有 A vs B 和 A vs C 配对。

然后我将遍历 B 组,但仅与 C 组匹配,因为所有 A 与 B(我假设在此上下文中等同于 B 与 A)匹配已配对。这将配对所有 B 对 C 比赛。

所以我们最终得到了所有 A 对 B、A 对 C 和 B 对 C 的比赛。如果我之前假设的等效性是真的,那么它会处理所有匹配项。


推荐阅读