挑战
给定一个字符串(可能有换行符)或一个二维数组,以及一个正整数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 <"
规则
- 这是 代码高尔夫球,因此以字节为单位的最短答案会获胜!
- 不允许出现标准漏洞。
3
@closevoters:这个挑战尚不清楚吗?
—
Leaky Nun
是时候基于此制作深奥的编程语言了。
—
DanTheMan'8
另外,如果平台脱离网格会发生什么?
—
Quelklef '16
@Quelklef,您可以假设平台在
—
acrolith '16
n
转弯后不会脱离网格。