Ctrl K

Лазер в зеркальной комнате

Средняя
Квадратная комната со стороной side, все четыре стены — зеркала. В левом нижнем углу стоит лазер, в остальных углах — датчики: правый нижний имеет номер 0, правый верхний — 1, левый верхний — 2. Лазер стреляет так, что луч впервые касается правой стены на высоте rise над датчиком 0. Дальше он отражается от стен, пока не попадёт в какой-нибудь угол. Верните номер датчика, в который луч попадёт первым. Можно считать, что луч обязательно до какого-то датчика дойдёт.
Пример 1
side=4, rise=1 → 2

Луч поднимается на 1 за каждый пролёт между левой и правой стеной. Ровно на высоту 4 он выйдет после четырёх пролётов — к тому моменту он снова у левой стены, в углу 2.

Пример 2
side=5, rise=2 → 0

Через пять пролётов луч у правой стены, а суммарный подъём 10 — это два раза по высоте комнаты, то есть он внизу, в углу 0.

Пример 3
side=3, rise=3 → 1

Луч идёт ровно по диагонали и сразу попадает в правый верхний угол 1.

Ограничения
  • 1 ≤ rise ≤ side ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОтрезки на графике СредняяПростые числа до границы СредняяПлощадь двух прямоугольников СредняяБез вмятин СредняяКвадрат из четырёх кнопок Средняя
загружаем Python…
Вход
side=4, rise=1
Ожидается
2

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