Ctrl K

Когда встретятся фавориты

Сложная
В турнире участвуют players игроков. Они стоят в ряд и пронумерованы от 1 до players по исходному месту в ряду. Турнир идёт раундами, начиная с первого. В каждом раунде i-й игрок с начала ряда играет с i-м игроком с конца, победитель проходит дальше. Если игроков нечётное число, стоящий посередине проходит без игры. После раунда победители снова выстраиваются в ряд по возрастанию исходных номеров. Игроки с номерами first и second — фавориты: каждый из них обыгрывает любого другого, пока они не встретились друг с другом. В остальных встречах победить может любой из двоих, и исход вы выбираете сами. Верните массив из двух чисел: самый ранний и самый поздний номер раунда, в котором могут встретиться фавориты.
Пример 1
players=6, first=1, second=3 → [2, 3]

В первом раунде играют пары 1–6, 2–5, 3–4. Если победят 1, 2 и 3, во втором раунде играют 1–3 — это самый ранний вариант. Если же победит 5, строй 1, 3, 5: звёзды сходятся только в третьем раунде.

Пример 2
players=7, first=2, second=6 → [1, 1]

Второй с начала строя и второй с конца встречаются уже в первом раунде.

Пример 3
players=2, first=1, second=2 → [1, 1]
Ограничения
  • 2 ≤ players ≤ 28
  • 1 ≤ first < second ≤ players
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе способы расставить пробелы СложнаяСамый длинный подъём по карте СложнаяРасчистить ряд шариков СложнаяРасчистка цветных кубиков СложнаяПятнашки на шесть клеток Сложная
загружаем Python…
Вход
players=6, first=1, second=3
Ожидается
[2, 3]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.