Код Гольф: Лазеры


вызов

самый короткий код по количеству символов для ввода 2D-представления платы и вывода "true" или "false"в соответствии с входным.

доска сделана из 4 типов плиток:

 # - A solid wall
 x - The target the laser has to hit
 / or  - Mirrors pointing to a direction (depends on laser direction)
 v, ^, > or < - The laser pointing to a direction (down, up, right and left respectively)

есть только лазерный и только один элемент. Стены должны образовывать сплошной прямоугольник любого размера, где лазер и мишень находятся внутри. Стены внутри комнаты являются вероятный.

лазерный луч выстреливает и перемещается от его начала до направления, на которое он указывает. Если лазерный луч попадает в стену, он останавливается. Если лазерный луч попадает в зеркало, он отскакивает на 90 градусов в направлении, на которое указывает зеркало. Зеркала двухсторонние, то есть обе стороны являются "отражающими" и могут отскакивать луч двумя способами. Если лазерный луч попадает в лазер (^v><) сам по себе, он рассматривается как стена (лазерный луч разрушает лучемет и поэтому он никогда не попадет в цель).

28 152

28 ответов: