Если команд не больше чем количество боев в одном туре, то и так пересечения не будет. А если больше тогда тут надо выбирать, что важнее, что-бы меньше встречаться с коллегами по команде или дважды встречаться с представителем другой команды.
Но в любом случае чем меньше команд и чем больше сами команды, тем меньше данный алгоритм подходит. В этом случае только перебор всех вариантов (ну естественно с оптимизациями, что бы лишнее не просматривать).
И да,
Цитата: За "шаг" взял 8 - больше, чем куоличество боев в самом больщом туре(4-том = 7), и меньше чем треть боев всего - 25/4 ~= 8...
Теперь, надо попробовать четвертую колонку заполнить, пока вручную, чтобы понять принцип...
ЗЫ Вот только потом, даже если сейчас расставим "циферки" красиво, без повторов, все рухнет, когда начнешь пересечения команд разводить
Последняя колонка перебором всех возможных вариантов.
Берёшь первую позицию и пытаешься туда кого-нибудь вставить, если вставил, то следующая позиция, если нет следующий пилот, если пилоты кончились, откат, ну и по кругу. Результат - либо расставятся не пересекаясь более одного раза, либо нет. А с командами если народу в ней не на много больше чем количество боев в одном туре и так должно хорошо получиться.
Например для 25 (с 1 по 7 в одной команде) если сдвинуть на 7 и (7+8) соответственно, то получается, что
есть одно персечение в первом туре (1 и 7) и возможны при худшем раскладе ещё 4 пересечения (2 в третьем и 2 в четвертом турах). Таким образом 5 командных пересечений из трех допустимых.
Но тут опять же что важнее? Непересечение внутри команды или непересечение дважды двух пилотов.