소개
ASCII 바위가 많이 있습니다. 대시, 파이프, V, 캐럿, 꺾쇠 괄호, 슬래시 및 공백으로 구성됩니다. 예:
/--\
| |
| |
\--/
다음과 같이 침식하고 싶습니다.
/\
/ \
\ /
\/
모든 모서리가 둥글게되었습니다. 더 복잡한 예 :
/----\
| \------\
| |
| |
\------------/
/--\
/ \------\
| \
\ /
\----------/
또 다른 침식 후에는
/\
/ \------\
< \
\ /
\--------/
그리고 또 다른:
/\------\
< \
\ /
\------/
도전
당신의 도전은 입력을 한번 침식 할 수있는 프로그램을 작성하는 것입니다. 하나의 바위 만 있다고 가정 할 수 있으며 하나의 닫힌 루프라고 가정 할 수 있습니다. 입력에는 문자 만 포함되며 /\ -| <> ^V \n
사각형을 만들 수있는 후행 공백이 있습니다. 프로그램은 STDIN에서 입력을 받고 STDOUT으로 출력하거나 함수일 수 있습니다. 각 행 끝에 줄 바꿈 문자가 있습니다. 침식은 아래에 설명 된 규칙을 따라야합니다 (참고 : 암석이 완성되지 않은 예에서는 설명을 쉽게하기위한 것임). 출력은 입력과 동일한 형식으로 입력과 동일한 형식이어야합니다. 그러나 후행 공백은 생략 될 수 있습니다.
슬래시는 파이프 라인과 대시로 확산되어 가로 질러 이동합니다.
/---
|
|
/--
/
|
/-
/
/
두 개의 슬래시가 병합되면 적절한 문자 <>^V
가 사용됩니다.
/-----\
| |
| |
| |
\-----/
/---\
/ \
| |
\ /
\---/
/-\
/ \
< >
\ /
\-/
^
/ \
< >
\ /
V
바위의 일부가 합쳐질 수 있습니다. 참고 : 한 부분은 병합 할 수 있지만 다른 부분은 병합 할 수없는 경우 (예 : /\
두 번째 줄) 병합 할 수있는 부분이 있습니다 (예 참조).
/\
/\-^-/\-/ \--
|
<
|
/
\
|
/
/
\
\
|
|
/-------/\--
/
|
|
|
|
|
|
/
\
|
|
|
결국 모든 암석은 아무것도되지 않을 것입니다.
<> ^ /\
V \/
테스트 사례
시험 1 :
/----\
| \------\
| |
| |
\------------/
/--\
/ \------\
| \
\ /
\----------/
/\
/ \------\
< \
\ /
\--------/
/\------\
< \
\ /
\------/
/-----\
< \
\ /
\----/
/---\
< \
\ /
\--/
/-\
< \
\ /
\/
^
< \
\/
시험 2 :
/----\
| |
| |
| |
| |
\----/
/--\
/ \
| |
| |
\ /
\--/
/\
/ \
/ \
\ /
\ /
\/
/\
/ \
\ /
\/
/\
\/
시험 3 :
^ /\
/\--/\--/ \--/ \-\
\ |
| |
/ |
\ |
| |
| |
/ |
< |
\ |
| |
| |
/ |
/ |
\ |
\-----------------/
/-------^----/\-\
/ \
| |
| |
| |
| |
| |
| |
< |
| |
| |
| |
| |
/ |
\ /
\---------------/
/-------------\
/ \
/ \
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
\ /
\ /
\-------------/
/-----------\
/ \
/ \
/ \
| |
| |
| |
| |
| |
| |
| |
| |
\ /
\ /
\ /
\-----------/
/---------\
/ \
/ \
/ \
/ \
| |
| |
| |
| |
| |
| |
\ /
\ /
\ /
\ /
\---------/
/-------\
/ \
/ \
/ \
/ \
/ \
| |
| |
| |
| |
\ /
\ /
\ /
\ /
\ /
\-------/
/-----\
/ \
/ \
/ \
/ \
/ \
/ \
| |
| |
\ /
\ /
\ /
\ /
\ /
\ /
\-----/
/---\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\---/
/-\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\-/
^
/ \
/ \
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
\ /
\ /
\ /
V
^
/ \
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
\ /
\ /
V
^
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
\ /
V
^
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\ /
V
^
/ \
/ \
/ \
\ /
\ /
\ /
V
^
/ \
/ \
\ /
\ /
V
^
/ \
\ /
V
^
V
채점
이것은 code-golf 이므로 바이트 수가 가장 적은 프로그램이 승리합니다!
표준 허점 은 허용되지 않습니다.
"\x20\x20\x20\x20\x20\x20/\\\n/-\\\x20\x20/\x20\x20\\-\\\n|\x20\x20\\/\x20\x20\x20\x20\x20|\n\\---------/\n"