만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

가장 빠른 생명체

면접 대비

시간 제한2초메모리 제한2048 MB

요약
첫 행의 빈칸에서 출발해 마지막 행의 빈칸에 도달하는 경로를 찾습니다. 매 행마다 아래로 내려가며 왼쪽이나 오른쪽으로 한 칸까지만 옮길 수 있습니다.
난이도

보통10점 중 4점

유형
동적 계획법, 행렬
정답자
아직 제출이 없습니다

문제

악당 Doctor Pearman(Dr. Mechanic이라고 부르는 사람도 있다)이 또 나쁜 일을 꾸미고 있다. 그는 새 기계로 지표면을 뚫고 그 아래 숨겨진 고대의 힘을 끌어내 세계를 지배하려 한다. 이를 본 영웅 Shonic은 박사를 찾아 계획을 막으려고 Dragon Road를 따라 곧바로 출발한다.

길을 가던 Shonic은 nn행 mm열로 나뉜 가시밭을 만난다. 가시밭의 각 칸에는 가시 함정이 있거나 비어 있다. Shonic은 마법 반지를 모두 잃어서 가시에 한 번이라도 닿으면 바로 죽고, 박사의 계획은 성공한다. 그러므로 그는 모든 행에서 빈 칸을 하나씩 지나야 한다. 그는 매우 빠르게 움직여서 다음 행으로 내려갈 때 가로 이동을 한 번만 할 수 있다. 왼쪽으로 한 칸 간 뒤 한 행 내려가거나, 오른쪽으로 한 칸 간 뒤 한 행 내려가거나, 같은 열을 유지한 채 한 행 내려갈 수 있다. 가시밭 밖으로 나갈 수 없으므로 가장 왼쪽 열에서는 왼쪽으로 갈 수 없다. 가시밭에 들어설 때 첫 행의 시작 칸을 고를 수 있지만, 그 칸은 비어 있어야 한다. 성공하는 경로는 첫 행에서 출발해 모든 행을 지나 마지막 행의 빈 칸에서 끝난다. Shonic이 가시밭의 끝까지 갈 방법을 찾아라.

입력

첫 줄에 두 정수 nn(2≤n≤1032 \leq n \leq 10^3)과 mm(2≤m≤1032 \leq m \leq 10^3)이 주어진다. 이는 가시밭의 행 수와 열 수이다.

이어서 nn개의 줄에 길이 mm인 문자열이 한 줄씩 주어진다. *(별표)는 가시 함정이 있는 칸이고, _(밑줄)는 Shonic이 지나갈 수 있는 빈 칸이다.

출력

다음 중 하나를 출력한다.

Shonic이 출발하는 열을 나타내는 정수 하나 ll(1≤l≤n1 \leq l \leq n).

L, R, F로 이루어진 길이 n−1n - 1의 문자열. 각각 왼쪽, 오른쪽, 앞으로를 뜻하며, 가시에 닿지 않고 Shonic을 가시밭의 끝까지 보내는 이동 순서이다.

유효한 경로가 없으면 impossible을 출력한다.

여러 해가 있으면 그중 아무거나 하나를 출력해도 된다.

예제2

  1. 예제 1

    입력
    5 5
    _*_**
    __*__
    ***__
    **_**
    **_**
    
    예상 출력
    3
    RFLF
    
  2. 예제 2

    입력
    5 5
    _*_**
    __*__
    ***__
    **_**
    ****_
    
    예상 출력
    impossible