【问题标题】:I need a logic algorithm to sort soccer league mathces on a program我需要一个逻辑算法来对程序上的足球联赛比赛进行排序
【发布时间】:2021-01-29 17:23:58
【问题描述】:

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

例子

A组 A1队 A2队 A3队 A4队 A5队 A6队 A7队 A8队 A9队 团队A10

B组 B1队 B2队 B3队 B4队 B5队 B6队 B7队 B8队 B9队 TeamB10

C组 C1队 团队C2 C3队 TeamC4 TeamC5 TeamC6 TeamC7 TeamC8 TeamC9 TeamC10

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

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

我需要某种系统来生成每天的比赛,以重复避免团队面对同一组团队的规则。

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

非常感谢!

【问题讨论】:

  • 每支球队每天只打一场比赛吗?如果是这样,那么 20 天的比赛似乎是不可能的。
  • 是的,每天,所有球队都只打一场比赛。例如,来自 A 的球队必须与来自 B 的 10 支球队和来自 C 的 10 支球队进行比赛,总共进行 20 场比赛。就像每支球队一样。为什么你认为 20 天的比赛是不可能的?顺便说一句,感谢您的时间
  • 假设所有 A 组球队在第 1 天与所有 B 组球队比赛 - 那么 C 组在第一天没有人可参加 - 所以鉴于每天 1 场比赛的限制 - C 组球队不能参加 20 场比赛在 20 天内。无论选择哪种组合,这都是正确的。

标签: sorting math logic


【解决方案1】:

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

遍历 A 组,对于 A 上的每个团队,我将通过 B 组和 C 组将它们与一个团队进行匹配,并将每个配对保存在某种变量中。这将创建所有 A vs B 和 A vs C 配对。

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

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

【讨论】:

    猜你喜欢
    • 2017-09-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    相关资源
    最近更新 更多