아뇨! 우리의 작은 광대 물고기 인 Nemo는이 ASCII 바다에서 길을 잃었고 그의 아버지 Marlin이 그를 찾으려고합니다.
당신의 임무는 Marlin을 Nemo에 안전하게 가져 오는 것입니다. 그러나 우리는 느슨한에 먹이 열풍 브루스가 있으므로 모든 비용으로 그를 피하는 것이 좋습니다!
세부
소문자 알파벳 만 포함 된 직사각형 ASCII 해상 그리드가 제공됩니다 a-z
. 이 바다는 것 nemo
, marlin
그리고 bruce
그 안에 연속 폴리오 미노의 형태로, 항상 폴리오 미노의 첫 번째 열에서 상위 대부분의 세포에서 시작. 예를 들어, 가능한 모든 테트로 미노 중에서 유효한 것들은 아래 스 니펫에 나열되어 있습니다.
그러나 다음과 같은 형식은 유효하지 않으며 입력에 표시되지 않습니다.
omen
ne
mo
nem
o
o
m
en
nem
o
n
eo
m
마지막으로, 작업은 marlin
polyomino tile 에서 polyomino tile 까지의 경로를 찾아 경로의 nemo
모든 셀이 bruce
polyomino tile에 인접하지 않도록하는 것 입니다. 출력은 marlin
타일, nemo
타일 및 이들을 연결하는 경로의 일부가 아닌 모든 알파벳을 소문자 이외의 인쇄 가능한 ASCII 범위 (공백 포함)의 문자로 바꿔야합니다 a-z
.
예
입력 바다가 다음과 같은 경우 :
oxknvvolacycxg
xmliuzsxpdzkpw
warukpyhcldlgu
tucpzymenmoyhk
qnvtbsalyfrlyn
cicjrucejhiaeb
bzqfnfwqtrzqbp
ywvjanjdtzcoyh
xsjeyemojwtyhi
mcefvugvqabqtt
oihfadeihvzakk
pjuicqduvnwscv
(3 개의 폴리 노미 노는 :
...n..........
.mli..........
.ar...........
..............
....b.........
....ruce......
..............
.....n........
.....emo......
..............
..............
..............
)
유효한 솔루션은 다음과 같습니다.
...n..........
.mli..........
.ar...........
.u............
.n............
.i............
.z............
.wvjan........
.....emo......
..............
..............
..............
아래 스 니펫에는 몇 가지 예가 더 있습니다.
메모
- 그리드는 항상 완벽한 사각형이 될 것이며, 단 하나의 폴리오 미노 타일을 포함
nemo
,marlin
및bruce
. - 경로는 타일
bruce
에있는 셀의 인접한 4 개 (위, 아래, 왼쪽 및 오른쪽) 셀을 통과하지 않아야합니다bruce
. - 에서
marlin
까지 유효한 경로가 하나 이상 있어야 합니다nemo
. - 여기서 가장 짧은 경로는 필요하지 않습니다.
- 최단 경로를 찾을 필요는 없지만 경로에있는 셀 (말린 또는 니모를 포함하지 않는 경로)은 경로에있는 두 개 이상의 다른 셀에 인접 할 수 없습니다.
- 길은
marlin
또는nemo
타일을 통과해서는 안됩니다. 그러면 작은 물고기가 방향을 선택하는 데 혼란을 줄 수 있습니다. - 일반적으로 STDIN (또는 가장 가까운 해당 항목), 명령 줄 인수 또는 함수 매개 변수를 통해 입력을 받고 STDOUT (또는 가장 가까운 해당), 반환 값 또는 함수 (out) 매개 변수를 통해 출력을 생성하는 프로그램이나 함수를 작성할 수 있습니다.
- 여러 줄을 입력 할 수없는 경우 표
|
대신에 문자로 표를 연결했다고 가정 할 수 있습니다\n
. 입력을 그리드 행의 배열로 가져올 수도 있습니다.
이것은 코드 골프이므로 바이트 단위의 가장 짧은 항목이 이깁니다.
k
위의l
청새치가 보이는 경우 위의 해결책이 여전히 유효 합니까? (