의자
면접 대비시간 제한1초메모리 제한1024 MB
왼쪽 위 칸에서 오른쪽 아래 칸까지 모든 의자 칸을 지나는 최단 경로 중 사전순으로 가장 앞선 R, D 이동 순서를 구하고, 없으면 Impossible을 출력합니다.
문제
오스타프와 키사는 의자 세일 현장에 있다. 두 사람에게는 해결할 문제가 두 가지 있다. 첫째, 라이벌 회사를 대표하는 아버지 테오도르가 바짝 쫓아오고 있어서 가능한 한 빨리 세일장을 떠나야 한다. 둘째, 세일장에 있는 의자를 모두 가져가야 한다.
세일장은 행 열의 직사각형 표이다. 일부 칸에는 회수해야 할 의자가 놓여 있다. 두 사람은 왼쪽 위 칸 에서 출발하고, 출구는 오른쪽 아래 칸 에 있다. 한 번의 이동으로 현재 칸과 변을 맞댄 인접한 칸으로 옮겨갈 수 있다. 의자가 있는 칸을 지나가면 그 의자를 가져간다. 시작 칸에서 출구 칸까지의 최단 경로를 찾되, 그중에서 의자가 있는 모든 칸을 지나는 경로를 찾아라. 그런 경로가 없으면 그렇다고 판정한다.
입력
첫 줄에 표의 크기 , 과 의자의 개수 가 정수 세 개로 주어진다 (, ). 이어지는 개의 줄에는 각 의자가 있는 행 번호 와 열 번호 가 정수 두 개로 주어진다 (, ). 한 칸에 의자가 두 개 놓이는 경우는 없다.
출력
최단 경로 중 어떤 경로로도 모든 의자를 모을 수 없다면 Impossible을 한 줄에 출력한다.
그렇지 않다면 이동 순서를 한 줄에 출력한다. 각 이동은 기호 하나로 나타낸다. R은 오른쪽으로 이동, D는 아래로 이동이다. 답이 여러 개이면 사전순으로 가장 앞선 것을 출력한다.