Я пытаюсь создать симулятор теннисного турнира, где результаты игр случайны (вроде). На турнирах "Большого шлема" принимают участие 128 игроков, 32 из которых посеяны. В настоящий момент я пытаюсь разместить семена в розыгрыше в подходящем месте. У меня есть сгенерированные сильные стороны игроков в соответствии с нормальным распределением (которое заменит их рейтинг) и сохранены в отсортированном по возрастанию std :: array. Я решил сначала просто представить розыгрыш как vector<double> Draw(128)
. В идеале у меня был бы алгоритм для размещения каждого игрока в правильной позиции в розыгрыше, но я еще не смог его придумать, поэтому я решил просто ввести позиции в массив и выбрать соответствующий массив в зависимости от от того, сколько игроков участвует в турнире.
Позиции следующие: 0,127,95,32,64,96,31,63,16,112,79,48,15,111,80,47,41,72,8,119,23,104,55,87,71,39,24, 7,56,88,103,120
Первые несколько членов, кратные 32, следующие: 0 * 32,4 * 32-1,3 * 32-1,1 * 32,2 * 32,3 * 32,1 * 32-1,2 * 32-1,0,5 * 32,3,5 * 32-1,2,5 * 32-1,1,5 * 32,0,5 * 32-1,3,5 * 32,2,5 * 32.
Я еще не понял закономерность из этого. Есть ли для этого известный алгоритм?