0
0 комментариев

Имеется тёмное пространство‑лабиринт, разделённое на единичные квадраты. Каждый квадрат определён своими номерами строки и столбца (координатами), нумерацию которых будем производить с нуля. В некоторых квадратах пространства имеются двусторонние отражающие поверхности (зеркала). Каждое из этих зеркал имеет одну из двух возможных ориентаций под углом в 45 градусов к сторонам квадрата, в котором оно находится. В одном из квадратов на стороне лабиринта находится источник направленного света (лазер) в другом квадрате на стороне лабиринта располагается детектор, в который этот луч должен попасть. При попадании на отражающую поверхность (зеркало) луч меняет своё направление, производя поворот на 90 градусов. На рис. 1 представлен пример такого лабиринта и путь луча в нём при неизменной ориентации зеркал. Луч может пересекать себя под углом 90 градусов без каких‑либо последствий. Лабиринт ничем не огорожен, поэтому луч просто покидает его, если достигает границы.

Разрешено изменить положение ровно одного зеркала на противоположное. Необходимо сделать это так, чтобы луч попал в детектор. Например, для лабиринта с рис. 1 имеется ровно два способа сделать это. Можно поменять ориентацию зеркала в квадрате из первой строки и первого столбца (рис. 2), либо поменять ориентацию зеркала в квадрате из первой строки и четвёртого столбца (рис. 3). Обращаем внимание, что на рис. 3. видно, что зеркала двусторонние, то есть отражают обеими поверхностями. В обоих случаях видно, что луч попадает в детектор. Других способов достичь цели поворотом ровно одного зеркала в этом примере нет. Таким образом, для этого примера ответ состоит из двух вариантов поворота какого-нибудь ровно одного зеркала.

Необходимо найти как можно больше вариантов клеток, поворот зеркала в которых даёт попадание луча в детектор. Для каждого способа нужно вывести в отдельную строку два числа через пробел: номер строки и номер столбца квадрата, в котором нужно поменять ориентацию зеркала. Квадраты можно выводить в произвольном порядке. Менять местами номер строки и номер столбца нельзя, так как тогда получится обозначение для другого квадрата.

Arnfinn ответил на вопрос 28.10.2022