сортировка начального числа турниров

я делаю веб-приложение с одинарным / двойным исключением на основе HTML / JS. Я изо всех сил пытаюсь понять, как назначить матчи первого раунда из списка сеяных команд / игроков. Например, в сетке из 8 игроков матчи первого круга: 4v5 2v7 3v6

В более общих терминах семена можно рассматривать как массив (поскольку я назначаю команды на матчи, выталкивая их из массива): 1,2,3,4,5,6,7,8

, которые необходимо отсортировать по: 1,8,4,5,2,7,3,6

Чтобы уточнить, высшие семена должны иметь максимальное расстояние между ними в отсортированном массиве, это так, чтобы в скобке без высадок нижние семена выбиваются первыми, а совпадения с высокими семенами происходят как можно позже. С практической точки зрения представьте себе теннисный турнир, в котором вы хотите помешать четырем лучшим игрокам в сетке из 16 или 32 и т. Д. Играть друг с другом до полуфинала. Итак, правильный вывод массива для начальной скобки 16 :

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

, что соответствует следующим матчам 1-го раунда:

1v16 8v9 4v13 5v12 2v15 7v10 3v14 6v11

Спасибо Мэтту Боллу за правильный алгоритм для брекетинга с 8 начальными числами

6
задан smart alec 43 24 April 2011 в 15:09
поделиться