为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
请享用!