首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >足球联赛调度算法(同步)。家/外)

足球联赛调度算法(同步)。家/外)
EN

Stack Overflow用户
提问于 2013-02-09 02:22:47
回答 2查看 3.3K关注 0票数 1

我在做一个自动的足球联赛发生器,而且按期前进。我有一个生成所有东西的算法,但没有时间表。看一看:

代码语言:javascript
运行
复制
[tour-id] => Array
    (
        [playing-day] => 2013-03-07
        [tour (tour-id+1)] => 9
        [game-id] => Array
            (
                [blue team-id] => 13
                [red team-id] => 10
            )

例如:

代码语言:javascript
运行
复制
[8] => Array
    (
        [playday] => 2013-03-07
        [tour] => 9
        [0] => Array
            (
                [blue] => 13
                [red] => 10
            )

        [1] => Array
            (
                [red] => 15
                [blue] => 12
            )

        [2] => Array
            (
                [blue] => 6
                [red] => 11
            )

现在,当我得到了所有的数据后,我就可以用很少的foreach()来获取我需要的东西了。但是-我想要的是正常的把球队分成红蓝队。

我是说:

  • 一支单队(蓝队或红队)最多可以打2次;
  • 在一轮比赛中,一支球队必须在一轮中进行$totalTours/2比赛。

例如,如果有9支球队,在第一轮中,一支球队必须用红色(总计,不连续)进行4次巡回赛,用蓝色进行5次巡回赛。在第二轮,它必须打5次红色,4次蓝色旅游。

即使有100个团队,算法也必须有效。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-07 16:57:11

我认为你应该检查一下循环赛-Algorithm。通过这种方式,您可以轻松地安排您的锦标赛和地点将成为可选的。到达时间后,可以设置位置homeaway

票数 0
EN

Stack Overflow用户

发布于 2021-08-31 22:37:07

要建立一套固定装置,你需要每一支球队精确地相互比赛一次。

一种很好的方法是将元素“旋转”在一个固定的元素上。

修正数字1,我们需要

第一轮将是

代码语言:javascript
运行
复制
 1 2 3 4 5 
 v v v v v
10 9 8 7 6

第二轮将是

代码语言:javascript
运行
复制
 1 10 2 3 4
 v  v v v v 
 9  8 7 6 5

第3轮

代码语言:javascript
运行
复制
 1 9 10 2 3
 v v  v v v 
 8 7  6 5 4

以此类推,直到数字一直旋转。

我使用这种方法在JavaScript:https://jsfiddle.net/jonwinstanley/9dfLm8nq/97/中构建了一组固定装置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14784286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档