이 도전의 올해 카테고리 수상자의 신인의 영광에 PPCG 2015 년 최저 : muddyfish (위해 ! 난 당신이 찾고있는 언어가 아니에요 과) quartata (대한 진실 - 기계 구현 ). 축하합니다!
배경
바다의 가장 깊은 참호에는 쿼타 타 물고기라고 불리는 희귀하고 찾기 어려운 사각형 모양의 물고기가 있습니다. Game of Life 셀룰러 오토 마톤 의 글라이더 처럼 보입니다 . 크기가 다른 두 개의 쿼타 타 물고기는 다음과 같습니다.
-o-
--o
ooo
--oo--
--oo--
----oo
----oo
oooooo
oooooo
당신은 쿼타 타 물고기의 사진을 찍을 수 있었지만, 물고기는 진흙으로 덮여 있기 때문에보기가 다소 어렵습니다. 이제 사진을 정리하는 프로그램을 작성해야합니다.
입력
입력은 .-o#
개행으로 구분 된 문자열로 제공되는 문자의 직사각형 2D 격자입니다 . 원하는 경우 줄 |
바꾸기 대신 파이프 를 구분 기호로 사용할 수 있으며 후행 및 / 또는 선행 구분 기호를 가정 할 수 있습니다.
입력은 측면 길이의 정확히 하나의 쿼타 타 피쉬를 포함 할 것이며 3*n
, 여기서 n ≥ 1
양의 정수 .
는 해저를 나타내는 기간으로 둘러싸여 있습니다. 물고기는 항상 위에 묘사 된 방향에 있습니다. 이 그리드에 겹쳐서 비어 있지 않은 직사각형 해시 영역이 정확히 하나 #
있는데, 이는 진흙 덩어리를 나타냅니다. 블로 브는 쿼타 타 물고기를 부분적으로 또는 완전히 덮을 수있다. 입력 예는 다음과 같습니다.
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
산출
.-o
그리드는 정확히 하나의 쿼타 타 피쉬를 포함하도록 모든 해시를 문자로 대체하여 입력에서 출력을 생성해야합니다 . 이 교체를 올바르게 수행하는 고유 한 방법이 항상 있습니다. 특히, 진흙 덩어리는 크기가 3 × 3 인 경우에만 물고기를 완전히 덮을 것입니다. 출력은 입력과 동일한 분리기를 사용해야합니다. 위 입력의 경우 올바른 출력은
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
규칙과 득점
전체 프로그램이나 함수를 작성할 수 있습니다. 바이트 수가 가장 적고 표준 허점 이 허용되지 않습니다. 시간 제한이 없습니다. 제출에 시간과 리소스가 무제한으로 주어질 경우 괜찮습니다.
테스트 사례
Input:
.......
...-o-.
...--o.
##.ooo.
##.....
Output:
.......
...-o-.
...--o.
...ooo.
.......
Input:
...-o-.
...-#o.
...ooo.
.......
Output:
...-o-.
...--o.
...ooo.
.......
Input:
.........
.###.....
.###.....
.ooo.....
Output:
.........
.-o-.....
.--o.....
.ooo.....
Input:
.....
.###.
.###.
.###.
Output:
.....
.-o-.
.--o.
.ooo.
Input:
......
......
......
...###
...###
...###
Output:
......
......
......
...-o-
...--o
...ooo
Input:
###o--....
###o--....
###-oo....
###-oo....
###ooo....
###ooo....
###.......
Output:
--oo--....
--oo--....
----oo....
----oo....
oooooo....
oooooo....
..........
Input:
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
Output:
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
Input:
...--oo--....
.#########...
.#########...
.#########...
...oooooo....
...oooooo....
.............
.............
Output:
...--oo--....
...--oo--....
...----oo....
...----oo....
...oooooo....
...oooooo....
.............
.............
Input:
..............
..............
.########.....
.########.....
.########-....
.########-....
.########o....
.########o....
.########o....
.########o....
.########.....
..............
Output:
..............
..............
..............
..............
....--oo--....
....--oo--....
....----oo....
....----oo....
....oooooo....
....oooooo....
..............
..............
Input:
.................
.................
..---ooo---......
..--#########....
..--#########....
..--#########....
..--#########....
..--#########....
..oo#########....
..oo#########....
..oo#########....
....#########....
Output:
.................
.................
..---ooo---......
..---ooo---......
..---ooo---......
..------ooo......
..------ooo......
..------ooo......
..ooooooooo......
..ooooooooo......
..ooooooooo......
.................
Input:
.........................
.........................
....----oooo----.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....oooo########.........
....oooo########.........
....oooooooooooo.........
....oooooooooooo.........
.........................
Output:
.........................
.........................
....----oooo----.........
....----oooo----.........
....----oooo----.........
....----oooo----.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
.........................
......|......|......|...###|...###|...###
(솔루션이 가능한 모든 왼쪽 위 좌표를 시도하고 면적에 6x6을 맞추려고 시도하는 경우)