소개
물개 가족이 북극권의 빙산에 좌초됩니다. 씰이 도움을 요청하는 데 사용할 수있는 무선 송신기가 빙산에 있습니다. 그러나 아빠 봉인 만 무선 송신기 작동 방법을 알고 있습니다. 더 나쁜 것은, 올해이시기에 얼음이 매우 미끄러 워서 물개가 다른 물개에 부딪 치거나 빙산의 가장자리에서 미끄러 져 나올 때까지 물개가 제어 할 수 없게 미끄러 져서 아빠 물개가 라디오 송신기에 도달하기가 매우 어렵다는 것입니다. 운 좋게도 인감 중 하나는 컴퓨터 과학자이므로 아빠 인감을 무선 송신기로 조작하는 방법을 알아내는 프로그램을 작성하기로 결정했습니다. 프로그램을 작성할 공간이 많지 않기 때문에 프로그램은 가능한 적은 바이트를 사용하도록 결정합니다.
입력 설명
봉인 프로그램은 STDIN, 명령 행 인수 또는 사용자 입력 함수 (예 :)에서 입력을받습니다 raw_input()
. 변수에서 사전 초기화 할 수 없습니다 (예 : "이 프로그램은 변수의 입력을 예상합니다 x
").
입력의 첫 번째 줄은 쉼표로 구분 된 두 개의 정수 형식으로 구성됩니다
A,B
그 뒤에는 각각 문자 B
로 구성된 줄 이 있습니다 A
. 각 줄은 다음 중 문자 만 포함 할 수 있습니다.
.
: 추위, 추위, 바다. 지도에는 항상 테두리가 있습니다.#
: 빙산의 일부.a
...z
: 빙산의 아빠 물개가 아닌 물개.D
: 아빠가 빙산에 봉인.*
: 무선 송신기.
(아빠 봉인은 항상 대문자로 표시 D
됩니다. 소문자 d
는 단순히 일반 봉인입니다.)
출력 설명
씰이 어떻게 움직일 수 있는지에 관한 다음 규칙에 따라, 씰을 무선 송신기로 가져 오기 위해 씰을 어떻게 움직여야하는지에 대한 지시 목록을 출력하십시오.
- 규칙 : 모든 씰은 위 (
U
), 아래 (D
), 왼쪽 (L
) 및 오른쪽 (R
)으로 이동할 수 있습니다 . 대각선으로 미끄러질 수 없습니다. - 규칙 : 물개가 움직이면 물개가 다른 물개와 충돌하거나 바다로 떨어질 때까지 같은 방향으로 계속 움직입니다.
- 씰이 다른 씰과 충돌하면 움직이지 않습니다. 충돌 한 봉인은 움직이지 않습니다 .
- 바다 표범이 바다로 떨어지면 익사하여지도에서 사라집니다. 즉, 다른 씰의 충돌체 역할을하지 않으며 다시 이동할 수 없습니다.
- 규칙 : 두 개의 봉인은 동시에 이동할 수 없으며 다른 봉인이 여전히 움직이고있는 동안에는 봉인을 이동할 수 없습니다. 다음 씰은 이전 씰의 이동이 중지 된 후에 만 이동할 수 있습니다.
- 규칙 : 물개를 여러 번 움직이거나 익사하는 물개 수에 대한 제한은 없습니다.
- 규칙 : 올바른 해결책은 무선 송신기에서 아빠 밀봉이 끝날 것 입니다. 아빠 물개는 미끄러지는 동안 단순히 송신기를 통과 할 수 없습니다 .
출력은 여러 줄로 구성되며 각 줄은
A,B
여기서 A
(이동 시일이다 D
아빠 씰, a
... z
등을위한), 및 B
(하나 시일을 이동하는 방향이고 U
, D
, L
, 또는 R
). 당신이주의 가장 짧은 경로를 찾을 필요가 없습니다. 아빠 인감을 목표로하는 모든 경로는 허용 가능한 출력입니다.
입력 및 출력 예
입력:
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................
산출:
D,R
입력:
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........
출력 (많은 것 중 하나의 가능한 출력) :
m,R
b,L
D,U
D,R
D,D
D,L
입력:
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................
출력 (많은 것 중 하나의 가능한 출력) :
v,D
D,L
다른 질문이 있으시면 의견을 보내주십시오.