2
鏡の部屋を照らす
ゴール このコンペティションでは、キャンドルが1本入ったランダムな部屋が与えられます。目標は、暗いスポットをに置き換えて、部屋のどの部分をキャンドルで照らすかを決定する最短のプログラム(これはゴルフです)を書くこと@です。プログラムは、STDINからのスペースを確保し、出力をSTDOUTに出力する必要があります。 入力/部屋の例 +------+ | C | | +--+ | \ | +---------+ ろうそくはで表されC、壁/ミラーは、で表され|、-、/、または\。壁自体は鏡です。部屋のコーナーはで表されます+。 部屋には斜めの壁はありません。また、部屋の外に光が漏れることはありません。 また、行の最初のキャラクターは常に部屋の外の壁の一部になります。各行の絶対的な最後のキャラクターは、部屋の反対側の壁になります。これら2つの間にキャラクターが部屋の外にいることはありません。 光と反射 キャンドルは、8つの基本的な方向(N、S、E、W、NE、SE、SW、およびNW)に8つの(レーザーのような)光線を放射します。以下に説明するように、これらの光線はミラーで反射します。 Old Direction of Travel | Mirror | New Direction N S E W NE SE SW NW / E W N S -- -- -- -- N S E W NE SE …