가장 빠른 생명체
면접 대비시간 제한2초메모리 제한2048 MB
첫 행의 빈칸에서 출발해 마지막 행의 빈칸에 도달하는 경로를 찾습니다. 매 행마다 아래로 내려가며 왼쪽이나 오른쪽으로 한 칸까지만 옮길 수 있습니다.
문제
악당 Doctor Pearman(Dr. Mechanic이라고 부르는 사람도 있다)이 또 나쁜 일을 꾸미고 있다. 그는 새 기계로 지표면을 뚫고 그 아래 숨겨진 고대의 힘을 끌어내 세계를 지배하려 한다. 이를 본 영웅 Shonic은 박사를 찾아 계획을 막으려고 Dragon Road를 따라 곧바로 출발한다.
길을 가던 Shonic은 행 열로 나뉜 가시밭을 만난다. 가시밭의 각 칸에는 가시 함정이 있거나 비어 있다. Shonic은 마법 반지를 모두 잃어서 가시에 한 번이라도 닿으면 바로 죽고, 박사의 계획은 성공한다. 그러므로 그는 모든 행에서 빈 칸을 하나씩 지나야 한다. 그는 매우 빠르게 움직여서 다음 행으로 내려갈 때 가로 이동을 한 번만 할 수 있다. 왼쪽으로 한 칸 간 뒤 한 행 내려가거나, 오른쪽으로 한 칸 간 뒤 한 행 내려가거나, 같은 열을 유지한 채 한 행 내려갈 수 있다. 가시밭 밖으로 나갈 수 없으므로 가장 왼쪽 열에서는 왼쪽으로 갈 수 없다. 가시밭에 들어설 때 첫 행의 시작 칸을 고를 수 있지만, 그 칸은 비어 있어야 한다. 성공하는 경로는 첫 행에서 출발해 모든 행을 지나 마지막 행의 빈 칸에서 끝난다. Shonic이 가시밭의 끝까지 갈 방법을 찾아라.
입력
첫 줄에 두 정수 ()과 ()이 주어진다. 이는 가시밭의 행 수와 열 수이다.
이어서 개의 줄에 길이 인 문자열이 한 줄씩 주어진다. *(별표)는 가시 함정이 있는 칸이고, _(밑줄)는 Shonic이 지나갈 수 있는 빈 칸이다.
출력
다음 중 하나를 출력한다.
Shonic이 출발하는 열을 나타내는 정수 하나 ().
L, R, F로 이루어진 길이 의 문자열. 각각 왼쪽, 오른쪽, 앞으로를 뜻하며, 가시에 닿지 않고 Shonic을 가시밭의 끝까지 보내는 이동 순서이다.
유효한 경로가 없으면 impossible을 출력한다.
여러 해가 있으면 그중 아무거나 하나를 출력해도 된다.