我有一张桌子,上面有一组球队,以及他们需要与以下球队对战的游戏数量:
在此表中,a,b,c和d团队各自玩两次,而另一组则各玩一次,每队总共10场比赛。我需要根据此表创建每周对战时间表(例如:第1周-a vs b,c vs d等),以便所有比赛都将在10周内进行,每个团队每周进行一场对决。换句话说,我需要知道每支球队每周参加哪支球队10周,以便每支球队参加10场比赛。没有可考虑的家庭/度假地。
编辑:另外要注意的是,每个团队每周都会在同一天比赛,因此基本上是将这些比赛安排在10天之内,每个团队在10天中的每一天都进行一场比赛。
我在想办法做到这一点时遇到了麻烦,因此,如果有人对算法/软件包有任何建议或可以将我引向某些资源(我的偏好语言是python),我将不胜感激。
谢谢!
答案 0 :(得分:0)
一种非常简单的方法是生成组合,然后添加双打,如下所示:
import { Observable, of } from 'rxjs';
import { map, scan, take, switchMap, startWith, tap, filter } from 'rxjs/operators';
这使有关实际调度的问题悬而未决-您需要确保(我相信)例如A队连续7天没有比赛,然后闲置了一周,但是以上应该是一个好的开始我想。