Алгоритм сопряжения в гольф-турнирах

Идея проста. Функция нуждается в одном аргументе, который является количеством игроков. Он генерирует график, на котором каждый игрок находится в сравнении с другим (экран включен). Если игроки равны, то раунды равны игрокам-1, они равны игрокам.

https://stackru.com/images/23cb78a5efc6a57be60b800f734a16cd11b49e68.png

Я заметил, что лучший способ создать пару - это изменить порядок чисел ( источник).

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

1 ответ

Решение

Если у вас нечетное количество игроков, добавьте фиктивного игрока. Тот, кто играет в фиктивного игрока в определенном раунде, не участвует в этом раунде.

Вы даже можете видеть это на своем примере изображения, где игрок 6 - манекен. Левая таблица получается путем пропуска всех матчей против номера 6.

Другие вопросы по тегам