아이스 미로는 Pokémon Gold와 Silver에서 데뷔 한 이후 Pokémon 게임에서 가장 좋아하는 주요 재료 중 하나였습니다 . 당신의 임무는 이러한 유형의 문제를 해결하는 프로그램을 만드는 것입니다.
얼음 미로는 주로 이름에서 알 수 있듯이 얼음으로 구성됩니다. 플레이어가 얼음 위에서 한 방향으로 움직이면 장애물과 충돌 할 때까지 그 방향으로 계속 움직입니다. 또한 자유롭게 이동할 수있는 토양이 있으며, 플레이어가 그 위로 이동하는 것을 막을 수 있습니다. 마지막 장애물은 돌입니다. 스톤은 플레이어와 같은 공간을 차지할 수 없으며 플레이어가 이동을 시도하면 이동을 멈출 수 있습니다.
3 가지 유형의 바닥 (아이스, 토양 및 석재) 각각에 대해 3 개의 고유 한 값을 포함하는 목록 목록 또는 줄 바꾸기로 구분 된 문자열과 같은 2 차원 값 컨테이너가 제공됩니다. 미로의 시작과 목표 좌표를 나타내는 두 쌍 (또는 다른 동등한 두 값 컨테이너)도 받게됩니다. 이들은 0 또는 하나의 색인 일 수 있습니다.
수행 할 때 플레이어가 끝에 도달하게하는 동작 목록 (N, E, S, W에 4 개의 고유 한 값이있는 4 개의 고유 한 값)을 출력해야합니다.
입력은 항상 미로 주위에 돌 주변이 닫혀 있으므로 플레이어가 미로를 빠져 나갈 염려가 없습니다.
이것은 코드 골프 이므로 가장 적은 바이트가 이깁니다.
테스트 사례
여기는 .
얼음 ~
을 나타내고 토양 O
을 나타내며 돌을 나타냅니다. 좌표는 1 인덱스입니다. 솔루션의 각 문자는 해당 문자로 시작하는 방향을 나타냅니다 (예 N
: 북쪽)
입력
OOOOO
OO.OO
O...O
OOOOO
Start : 3,3
End : 3,2
산출
N
입력
OOOOOOOOOOOOOOOOO
O........O.....OO
O...O..........OO
O.........O....OO
O.O............OO
OO.......O.....OO
O.............OOO
O......O.......~O
O..O...........~O
O.............OOO
O.......O......OO
O.....O...O....OO
O..............OO
OOOOOOOOOOOOOO~~O
OOOOOOOOOOOOOOOOO
Start : 15,12
End : 16,8
산출
N,W,N,E,N,E,S,W,N,W,S,E,S,E,N,E,N
입력
OOOOOOOOOOOOOOOO
O~~~~~OOOOO~~~~O
O~~O~OOOOOOO~~OO
O...O..........O
O........O.....O
O..............O
OO.............O
O.............OO
O....~....O....O
O..............O
O..............O
OOOOOOOOOOOOOOOO
Start : 2,2
End : 14,3
산출
E,S,S,W,N,E,N
입력
OOOOOOOOOOOOOOOOOOO
O~~~~~~~OOOOOOOOOOO
O~~~~...OOOOOOOOOOO
OO~O~..OOOOOOOOOOOO
O..OO.............O
O..............O..O
O....O............O
O.O............~..O
O........OOOO.....O
O.......OOOOO.....O
O.......O~~~O.....O
O.......~~~~~.....O
O.......~~~~~.....O
O..........O......O
O..O..~...........O
O...............O.O
O.....O...........O
O.................O
OOOOOOOOOOOOOOOOOOO
Start : 2,2
End : 11,11
산출
E,E,E,E,E,S,S,E,N,W,S,E,N,N,N