朱利安国王需要穿越丛林,但他感到很懒。他希望计算机能够为他计算出穿越丛林的路线。
使用STDIN获取丛林图,以便计算机破解。它将采用以下格式:
01001E
010110
000P00
1100J1
S00111
丛林地图的工作方式是:
0
朱利安可以前进的基础。
1
是密不可通的丛林。
P
是一个有捕食者的区域,您必须不惜一切代价避免。
J
是比较厚的丛林。朱利安的奴才可以在劳累之前突破其中之一。
S
是朱利安的起点。它可以在地图上的任何地方。
E
朱利安想去的地方;路径的尽头。就像任何其他图块一样,它也可以位于地图上的任何位置。
每个角色都是地图上的一块瓷砖。换行符指示新的图块行。如果使用您的语言的STDIN不支持换行符,则必须用空格替换换行符以表示新行。
要在图块之间移动,必须使用STDOUT输出包含以下特殊字符的字符串:
F
-转发
B
-向后
L
-向左旋转朱利安(逆时针旋转90度)
R
-向右旋转朱利安(顺时针旋转90度)
M
-奴才J
从朱利安(Julian)处摧毁一块瓷砖,如果有M
一块(如果清除了瓷砖,您仍然必须移动到该瓷砖上)
可能的输出为:
RFFLFRFMFLFRFLFF
解决了上面的地图。
笔记:
如果您的程序输出的解决方案会打击掠食者,请结束游戏。
如果碰到了无法逾越的丛林,您会以相同的方式弹回到茂密的丛林之前的位置。(走向丛林)
朱利安开始朝上。(^那样^)
输出不一定是最快的解决方案,
FFF
并且FBFBFBFBFBFFF
相同。但是,输出最快的解决方案可获得-10%的字节数奖励。如果地图无效,则STDOUT'无效地图'。(这包括地图是否无法解决)
地图不能有不同长度的行或列;使其无效。
您的答案应遵循以下格式:
#Language name, *n* bytes
code
Explanation (optional)
这是code-golf,因此以字节为单位的最短代码获胜。
您的解决方案示例中,朱利安(Julian)直奔捕食者。像RFFLFRFMFLFRFLFF之类的东西应该可以代替。
—
Emigna
@Emigna,糟糕。我混在茂密的丛林和捕食者的巢穴之间……
—
Tobsta
@ dan1111当P瓷砖经过Julian时,它会杀死他。朱利安(Julian)无法通过1格,但是如果朱利安(Julian)击中它,他不会死,他只会反弹。
—
Tobsta 2015年