java - 体育联赛调度算法

标签 java algorithm

<分区>

我正在建立一个 Volley 的小网站(个人兴趣)。感谢在安排游戏的算法方面的帮助

  1. 它适用于任意数量的团队和团体。每组循环赛。因此,如果一个小组中有 6 支球队,那么该小组将总共进行 15 场比赛。
  2. 一场比赛持续30分钟
  3. 赛程是平均分配的,即一支球队不需要连续比赛
  4. 每支球队的比赛时间间隔大致相等,即一支球队不应在上午 8 点打第一场比赛,而等到晚上再打接下来的两场比赛
  5. 我们可以安排从早上 8 点到下午 4 点的比赛。

6 队只是一个例子。我正在寻找适用于任意数量的团队、球场和团体的通用算法。

问候。

最佳答案

我不确定这是否需要算法。由于它是固定数量的球队和比赛的循环赛,你真的可以设置一个时间表(两个球场都一样)。

让我解释一下,如果您需要更多信息,请告诉我。

将进行 15 场比赛,每支球队将与另一支球队进行比赛,因此每支球队将进行 5 场比赛。您可以通过玩 5 组 3 场比赛来运行锦标赛,每组比赛每队进行一次。

例子:

1-2
3-4
5-6

1-3
2-5
4-6

3-5
1-4
2-6

1-5
2-4
3-6

4-5
1-6
2-3

任何球队的最长比赛间隔是 4 个时段(2 小时)。 没有球队会连续打两场比赛。只需输入团队名称即可。

总播放时间为 7.5 小时,刚好适合您早上 8 点到下午 4 点的时间。

注意:我只是快速将其组合在一起。在不牺牲不连续比赛规则的情况下,可以重新排序,使最长的间隔实际上是 3 场比赛,而不是 4 场比赛。就目前而言,只有一支球队进入最大间隔(第 3 组和第 4 组之间的第 3 队)。如果这很重要,则值得研究,但实际上,我认为这没问题。

关于java - 体育联赛调度算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328465/

相关文章:

java - 是否可以在站点生命周期内只运行 JaCoCo maven 插件?

algorithm - 在 D*Lite 上定义路径方向

algorithm - 如何转换我的 float 以喂养我的神经网络?

algorithm - 总和组合表

java - Java中ClassDefNotFound错误的解决方法

java - 在 Eclipse 中,如何在 Javadoc 中显示泛型类型约束?

algorithm - 最小化距离最近传感器的最大距离 : How to distribute x distance sensors in a N×M rectangle efficiently?

给定模型的曲线拟合算法

java - 写入可序列化文件时出错

java - 类型注释属于有界通配符的什么位置?