按字符计数的最短代码输入一块板的二维表示,并输出“ true”或“ false”根据输入。
这块板子由四种瓷砖组成:
# - 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><
)本身,它被当作一堵墙(激光束摧毁激光器,因此它永远不会击中目标)。
Input: ########## # / \ # # # # \ x# # > / # ########## Output: true Input: ########## # v x # # / # # /# # \ # ########## Output: false Input: ############# # # # # > # # # # # # # x # # # # ############# Output: false Input: ########## #/\/\/\ # #\\//\\\ # #//\/\/\\# #\/\/\/x^# ########## Output: true
代码计数包括输入/输出(即完整程序)。