地下皇家科学家Alphys已经完成了一个新拼图的原型。但是,她似乎找不到任何愿意测试的人。
她的困惑规则如下:
目标是从左侧最中心的图块开始,到达右侧。对于高度为偶数的拼图,请从两个中心磁贴中的较低者开始。(示例:在索引为零的4x4数组中,起始位置为[2,0]-第2行,第0列。在索引为零的5x5数组中,起始位置为[2,0]-第2行,第2列0.)
每个彩色图块都有自己的“ adsistic”功能:
- 粉色和绿色磁贴(分别表示为“ P”和“ G”)没有任何作用
- 红色和黄色的磁贴(“ R”,“ Y”)不可逾越。
- 橙色方块(“ O”)使玩家闻起来像橙色
- 紫色瓷砖(“ U”)会迫使玩家朝他们面对的方向移动到下一个瓷砖,并使它们闻起来像柠檬
- 蓝色瓷砖(“B”),只要播放器是通行不闻起来像橘子。
为了阐明风味机制,玩家的气味将无限期地持续,或者直到被不同气味的瓷砖所覆盖为止,即,如果玩家踩到橙色瓷砖上,他们会闻起来像橙色,直到他们踩到紫色瓷砖上为止。
另外,与蓝色瓷砖垂直或水平放置的黄色瓷砖也会导致蓝色瓷砖无法通行。
您的任务是编写一个程序或函数,该程序或函数接受表示拼图布局的二维字符数组(或一维字符串数组,或其他有效格式)作为输入,并输出原始拼图和已解决的拼图,并带有星号或某些其他字符显示正确的路径。假设给定的难题是可以解决的。
以这个难题为例:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
您的程序将输出:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
BGYBG
PGPBG
*****
OUGYB
PPOPP
必须使用this生成使用的任何拼图。
适用标准代码高尔夫规则。最佳答案将是每种语言的最短答案。答案必须包含语言,字节数和三个测试用例。前两个可以是您选择的任何布局,但第三个必须是:
RRRR
RPPR
PUOR
RPBP
建议的测试案例:RRRR | RPPR | PUOR | RPBP。如果我没有记错的话,这要求您两次遍历U磁贴。另外,我不确定U块无法通过时的行为,您是否仍可以行走到U块上,还是无法做到这一点?
—
FryAmTheEggman
@FryAmTheEggman如果U磁贴之后的磁贴无法通过,则您无法在该方向上在U磁贴上行走。
—
EnragedTanker
@TimmyD猜猜我第一次做这个难题的时候没有注意到。
—
EnragedTanker
@crayzeedude我认为您弄错了Fry的测试用例。第二行应该是RPPR,而不是RPRR。
—
Sherlock16年
@ Sherlock9糟糕!确实,我做到了,谢谢。
—
EnragedTanker