Генерация всех возможных перестановок матчей для N игроков, разбитых на N / 2 пары - PullRequest
2 голосов
/ 16 апреля 2020

Я пытаюсь сгенерировать расписание для лиги, в которой есть N игроков, где N%2=0

Скажем, например, я хочу сгенерировать расписание для 6 игроков (A, B, C, D, E, F), делающих различные пары.

Рассмотрим AB != BA и должны отслеживаться как отдельные пары

При наличии 6 игроков должно быть 30 разных пар. Количество парных комбинаций равно pairsCount / (N / 2)

Ни одна из следующих пар соревнований не может быть одинаковой, например, если у соревнования 1 была пара AB, у соревнования 2 не должно быть AB.

(AB) (CD) (EF)
(AC) (BE) (CF)

...

(BA) (DC) (FE)

...

Я пытался следовать этому решению

Алгоритм генерации всех перестановок пар без повторений

Проблема в том, что пары следующих соревнований такие же, как в предыдущем соревновании. Я надеюсь, что вы поймете мою проблему и покажете мне хороший пример создания такого расписания.

...