Алгоритм размещения турнирной сетки

Учитывая список семян оппонента (например, семена с 1 по 16), я пытаюсь написать алгоритм, который приведет к тому, что верхнее семя будет играть наименьшее семя в этом раунде, а второе семя будет играть второе самое низкое семя. и т. д.

Сгруппировать 1 и 16, 2 и 15 и т. д. в «совпадения» довольно просто, но мне также нужно убедиться, что более высокое начальное число будет играть более низкое начальное значение в последующих раундах.

Пример правильной расстановки брекетов:

1 vs 16
            1 vs 8
8 vs 9
                        1 vs 4
4 vs 13
            4 vs 5
5 vs 12
                                    1 vs 2
2 vs 15
            2 vs 7
7 vs 10
                        2 vs 3
3 vs 14
            3 vs 6
6 vs 11

Как видите, посевные 1 и 2 встречаются только в финале.

22
задан glen-84 2 December 2011 в 19:02
поделиться