Соревнование
Если задана либо строка (может иметь символы новой строки), либо двумерный массив, а также положительное целое число n
, выведите положение платформ n
после начальной позиции.
U, D, R, L
являются платформами.
^, v, >, <
стрелки, которые меняют направления платформ.
U, D, R, L
двигаться вверх, вниз, вправо и влево соответственно. Когда стрелка находится перед платформой, она меняет направление.
Влияет на платформу:
R<
D
^
v
U
>L
>L
<
(верхняя стрелка повлияет на верхнюю L
, но нижняя стрелка не повлияет на верхнюю L
)
Не повлияет:
<
R
>
L
v
U
D
^
<R
( R
идет правильно, поэтому <
не повлияет на R
)
Например, если это была строка:
>R <
Платформа R
будет двигаться вправо, пока она почти не коснется стрелки:
> R<
После этого он изменит направление и начнет идти налево:
> R <
(даже если теперь он уходит, письмо не изменится.)
В некоторых случаях платформа не двигается, например,
>R<
или
v
U
^
Последний пример:
v >
D Rv
^U
^ <
После одного хода
v >
U v
D ^ R
^ <
После одного хода
v >
D Uv
^R
^ <
И еще один поворот:
v >
R v
D ^ U
^ <
Вы можете предположить, что платформы после n
поворотов не будут перекрываться, что платформы не выйдут за пределы, и что платформа не коснется стрелки, указывающей в том же направлении, что и платформа.
Тестовые случаи
Input:
">R <", 4
Output:
"> R <"
Input:
">R <", 6
Output:
">R <"
Input:
">R<", 29
Output:
">R<"
Input:
"v
U
^", 5
Output:
"v
U
^"
Input:
"v
D
^", 1
Output:
"v
D
^"
Input:
"v
D
^", 4
Output:
"v
D
^"
Input:
"v >
D Rv
^U
^ < ", 2
Output:
"v >
D Uv
^R
^ <
Input:
">RL<", 3
Output:
">LR<"
Input:
">L R<", 4
Output:
"> RL <"
Input:
"> RR<
>L R <", 6
Ouput:
">RR <
> RL <"
Input:
"R <", 4
Output:
" R <"
Input:
"R <", 6
Ouput:
"R <"
правила
- Это Код-гольфтак что кратчайший ответ в байтах побеждает!
- Стандартные лазейки запрещены.
n
поворотов.Ответы:
C #, 1245 байт
Сначала это казалось проще, но потом я просто продолжал писать больше кода. : D
LINQ, чтобы перечислять и обновлять доску, изменяя символ, чтобы указать направление его движения. Символы возвращаются обратно, прежде чем вернуться. Также предполагается, что плата квадратная (поэтому пришлось модифицировать некоторые из многострочных тестовых случаев, чтобы соответствовать этому ограничению).
Expanded:
источник