为10支队伍和6轮创build循环赛程序

我有10支球队,我想举办一场活动让他们在比赛中战斗。

  • 球队在6轮比赛
  • 在每一轮中5对竞争
  • 唯一的配对

我可以在Excel或R中执行此操作吗?

你需要应用的是循环赛的algorithm调度。 algorithm的说明(元素旋转)非常容易,可以在这里find。 总结,有14个团队,我们按照如下方式排列他们。

在这里输入图像描述

然后algorithm做具体的旋转,保持第一个元素在同一个地方: 在这里输入图像描述

在这里输入图像描述

下面是用R完成的解决scheme。下面的例子是针对所有组合的,但是你可以根据你的需要进行定制(n = 10,r = 13)或者运行所有轮次并随机挑选6轮

library(dplyr) n <- 14 teams <- 1:n r <- 13 rounds <- list() for( i in 1:r){ round <- data.frame( round = i, team1 = teams[1:(n/2)], team2 = rev(teams)[1:(n/2)]) rounds[[i]] <- round teams <- c( teams[1], last(teams), head(teams[-1],-1) ) } rr <- bind_rows(rounds) head(rr) # round team1 team2 # 1 1 1 14 # 2 1 2 13 # 3 1 3 12 # 4 1 4 11 # 5 1 5 10 # 6 1 6 9 

请享用!