所以,我有这样一个数组,充满了团队:
array(0, 1, 2, 3, 4, 5, ...)在每一场比赛中,我们都有TotalNumberOfTeams-1回合(日期)和比赛。(第一圈)
在每一轮比赛中,我们都有TotalNumberOfTeams/2比赛。(2圈)
如何计算此结果的组合:
Date Date Date Date Date
Match: 0-1 0-2 0-3 0-4 0-5
Match: 2-3 1-5 1-4 1-3 1-2
Match: 4-5 3-4 2-5 2-4 3-5 /w常用语:每支球队用不同的球队进行每一轮比赛
计算回合、匹配和日期的代码:
// Rounds
for($i=1; $i <= ($teamsNum - 1); $i++) {
// Matches
for($z=0; $z < ($teamsNum / 2); $z++){
//some code here
}
// Calculate next date
$mdate = date('Y-m-d', strtotime($mdate. ' + x days'));
}发布于 2018-01-23 12:28:24
使用循环竞赛算法。
简言之:
生成两行命令,每个顶部命令都使用相应的命令形式下行。我的号码是奇数,有一个命令在休息。
以循环方式移动所有命令,但第一个除外
0 1
2 3
=====
0 2
3 1
====
0 3
1 2 发布于 2018-01-23 13:06:55
有一个代码示例- http://rosettacode.org/wiki/Combinations#php的答案。
只需使用$k=2进行计算
https://stackoverflow.com/questions/48401161
复制相似问题