是否有任何算法可以使循环赛安排具有每轮独特的组合?

2024-04-03

假设我有 10 个参与者的数组 [1,2,3,4,5,6,7,8,9,10]

假设一个联赛有10名参赛者,那么每个参赛者将与其他9名参赛者进行9场比赛。

因此,每位参赛者将进行9轮单场比赛。例如-

第一轮:1-2、3-4、5-6、7-8、9-10 [任何参赛者不得重复]

第二轮:1-3、2-4、5-7、8-9、6-10 [任何参赛者不得重复]

等等..

有没有数学算法解决方案/模式?

如果可能的话,我想避免数组推送/弹出方法。


是的,有一个相当简单的算法来生成所有可能的对((N-1)*N/2)
将物品分成两行。
在每一轮中,顶排的玩家与底排的对应玩家进行比赛。
修复第一个。
以循环方式移动所有其他内容。

请注意,您可以使用数组的索引,而不更改其内容

A  B
D  C
pairs A-D, B-C

A  D
C  B
pairs A-C, D-B

A  C
B  D
pairs A-B, C-D

我在 PHP 中的幼稚实现(ideone https://ideone.com/L54q54) 输出玩家指数:

function GenPairs($N) {
    for ($i=0; $i<$N-1;$i++){
        echo(0).":";
        echo($N - 1 - $i)."\n";
        for ($j=1; $j<$N/2;$j++){
            echo(1 + (($N - $i + $j - 2) % ($N - 1))).":";
            echo(1 + ((2*$N - $i - $j - 3) % ($N - 1)))."\n";
        }
            echo("\n");
    }
}    


GenPairs(6);

0:5
1:4
2:3

0:4
5:3
1:2

0:3
4:2
5:1

0:2
3:1
4:5

0:1
2:5
3:4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有任何算法可以使循环赛安排具有每轮独特的组合? 的相关文章

  • php 中 php.ini 的 log_errors 和 error_log

    我正在尝试通过 php ini 更改 php ini 中的设置 我的问题是 当出现错误时 它不会放入文件 error log txt 中 那么我做错了什么 这是我的代码 Settings for php ini ini set sessio
  • PHP DBlib PDO 问题

    我正在尝试通过 php 连接到 MSSQL 服务器 但我的 pdo 连接给我带来了困难和我不太理解的错误 我在下面粘贴的代码一周前运行得很好 突然间它就停止了 没有任何人进行任何更改 我仍然可以连接到服务器并直接从命令行运行查询 但我在 p
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 项目链接在 Wamp 服务器上不起作用

    我正在另一台计算机上安装 Wamp 服务器来运行中型数据库和 UI 我已成功阻止 IIS 并将服务器路由到 Localhost 8080 但是每当我尝试从 localhost 主页访问我的项目时 在 www 文件中 我被重定向到页面未找到错
  • 在 PHP 中使用可变变量是不好的做法吗?

    例如 一个简单的MVC类型系统 api class method使用重写为 PHP 变量 htaccess nginx conf 然后做类似的事情
  • 是否可以证明序列是否是随机的?

    考虑以下输入 1 1 2 3 5 8 这不是随机的 2 4 8 16 32 这都不是 4 1 2 11 5 9 这个看起来像随机序列 我想问是否有这样的算法来证明输入是否是随机的 不 没有这样的证明 如果你有完全随机的数字 则每个长度为 n
  • 很简单的PHP加法问题

    我想我已经关注这个问题太久了 为什么这段代码打印 no 它应该打印 yes 不是吗 我在 PHP 5 3 和 PHP 5 2 上尝试过 都打印 no See 比较浮点数 http www cygnus software com papers
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • Google Closure 编译器和 multipart/form-data 不起作用

    我正在向 google 闭包编译器 API 服务发出请求 content file get contents file js url http closure compiler appspot com compile post true p
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4
  • 将 Base64 字符串转换为图像文件? [复制]

    这个问题在这里已经有答案了 我正在尝试将我的 Base64 图像字符串转换为图像文件 这是我的 Base64 字符串 http pastebin com ENkTrGNG http pastebin com ENkTrGNG 使用以下代码将
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • 查找重叠间隔序列中最大和的算法

    我试图解决的问题在数轴上有一个间隔列表 每个间隔都有一个预定义的分数 我需要返回最大可能的总分 问题是间隔重叠 并且重叠间隔中我只能使用一个 这是一个例子 Intervals Score 0 5 15 4 9 18 10 15 12 8 2
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab
  • 在 Elasticsearch php API 中使用多种类型或索引

    我想使用查询多种类型和索引Elasticsearch PHP API 但我不知道怎么办 我应该将类型和索引的数组传递给 params params index index array of indices params type types
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc

随机推荐

  • 使用 goto 的最佳实践

    使用是否正确goto在这段代码中 还有其他选择吗 return ExecuteReader cmd reader gt List
  • 计算网页上的滚动结束

    我需要计算网页上滚动的结束位置 以便我可以进行 Ajax 调用 我在 stackoverflow 中搜索了帖子 但解决方案对我不起作用 我使用下面的代码来确定 window scrollTop document height window
  • 如何在express + Passport js中删除注销时的cookie?

    我想 删除注销时的cookie 我做不到 我用谷歌搜索答案并找到以下方法 为 cookie 指定新的过期日期 res cookie connect sid expires new Date 1 path 使用以下行删除 cookie res
  • HRESULT 0x80070057 是什么意思?为什么我的程序崩溃了?

    我编写了一个程序 它拍摄两张图像 然后对它们运行一种算法 以隔离 前景 中的一只手 并将手势与已知的手势相匹配 几天前 我使用一些测试参数运行了该程序 只是为了测试我所做的一些调整 一切都运行良好 从那时起我就没有碰过代码 今天 我用两个新
  • 当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时如何跳过标题。

    我正在尝试从 s3 存储桶读取 csv 数据并在 AWS Athena 中创建一个表 我的表在创建时无法跳过 CSV 文件的标题信息 查询示例 CREATE EXTERNAL TABLE IF NOT EXISTS table name e
  • 相对于绝对定位元素的定位 - 有可能吗?

    我在页面上有一些绝对定位的空间 然后在这个空间中有多个绝对定位的元素 效果很好 每当我需要添加另一个元素时 我不必担心页面流量 我只是使用 x y 平面将其放在我想要的位置 我遇到的问题是 现在我在绝对定位元素之一中有一些动态内容 随着它的
  • 如何为具有默认导出的模块编写类型定义

    我想写一个类型定义storybook router https www npmjs com package storybook router 它不必那么准确 因为这是一个次要的开发工具 即anys 是可以接受的 但我什至似乎无法让它发挥作用
  • 输入类型标签属性的有效顺序

    我知道这是非常基本的问题 希望不是那么重要 但我想知道答案 请不要建议仅参考链接 我们每天都会面对
  • laravel 5.2 - 搜索功能

    我希望在我的网站上进行自定义搜索 这是 MySQL 搜索 选择 从MyDB MyTable WHERE id喜欢 MySearch 或firstname喜欢 MySearch 或lastname喜欢 MySearch 或email喜欢 My
  • 有没有办法将外部函数内联到 EF Linq 查询中?

    假设我有一个这样的函数 var filterValue GetCurrentFilter state 然后是 EF 查询 var result context EntitySet Where x gt x column gt filterV
  • 以富文本形式 Markdown 到剪贴板

    在 Windows 上使用 Python 我尝试获取一个 Markdown 文件并将其作为富文本粘贴到我的剪贴板中 大部分拼图都很简单 将 Markdown 解析为 HTML 没有问题 通过 TKinter 将内容放入剪贴板 是的 但这是我
  • 如何限制长表中 \multicolumn 单元格的大小?

    我在 LaTeX 中有一个非常长的表格 跨越多个页面 并且 就像现在一样 对于页面来说也太宽了 我正在使用 longtable 包 其中每个列的宽度都由p width 命令 问题是 大多数行包含多列调用 因此不遵守前导码p width 命令
  • Oracle:指定对象类型列的默认值

    我有一个带有无参数构造函数的对象类型 但是当我将其指定为该类型的列的默认值时 我收到 ORA 00904 无效标识符错误 Example CREATE OR REPLACE TYPE test t AS OBJECT val NUMBER
  • 将 CTE 应用于递归查询

    我正在尝试应用 CTE 和递归查询 数据库为 MariaDB 10 2 或更高版本 业务规则如下 账户可以是控股账户 也可以是投资组合账户 控股由一定数量的货币组成 持股可以是活跃的也可以是非活跃的 一个投资组合包含零个或多个账户 并且这些
  • OkHTTPClient代理认证如何进行?

    问题 如何向 OkHTTP 添加授权代理 我知道 OkHTTP 的构建者是否支持代理 http square github io okhttp 3 x okhttp 虽然我很难设置一个 Given a Url and a base64 en
  • 加密 (cryptojs) - 解密 (erlang)

    我有一个使用 cryptoJS AES 加密的值 需要使用 Erlang 加密库进行解密 对我来说问题在于能够在 Erlang 中使用解密aes cbc 128 decrypt Key IVec Cipher 我想 我需要知道使用的 IVe
  • 错误“您的推送将发布私人电子邮件地址”

    我对 GitHub 很陌生VCS https en wikipedia org wiki Version control 当我尝试在 GitHub 上共享我的项目时 收到以下错误消息 Can t finish GitHub sharing
  • 使用 jQuery 替换字符

    我正在尝试从键盘上的所有文本框中删除逗号 我想出了下面的脚本 但它不起作用 谁能看到我做错了什么吗 NOTE 请原谅脚本中的 所以不会让我发布它 否则 您可能希望将整个代码块包装在文档就绪函数中 function input text ke
  • 不使用相关性直接在ASM中调用/跳转(x86)

    我正在将一个 C DLL 注入到游戏中 并且想将一个函数挂接到我自己的一些代码上 由于DLL每次都会映射到不同的位置 因此直接跳转和调用会更容易 另外 因为这是一个钩子 所以当我返回该函数时 我不想更改堆栈或寄存器 我声明一个 char 来
  • 是否有任何算法可以使循环赛安排具有每轮独特的组合?

    假设我有 10 个参与者的数组 1 2 3 4 5 6 7 8 9 10 假设一个联赛有10名参赛者 那么每个参赛者将与其他9名参赛者进行9场比赛 因此 每位参赛者将进行9轮单场比赛 例如 第一轮 1 2 3 4 5 6 7 8 9 10