이 공간과 공간이 X
이상한 모양의 빈 아이스 큐브 트레이 의 단면을 나타냅니다 .
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
이없는 열 X
은 물을 담을 수없는 트레이의 구멍이나 틈을 나타내며 무한한 용량 싱크로 배출됩니다. 그리드의 가장 왼쪽 또는 가장 오른쪽 가장자리에서 떨어지는 물도이 끝없는 싱크대로 들어갑니다.
트레이 위에 수도꼭지를 배치하고 모든 구획의 수위가 안정적으로 유지 될 때까지 물을 채우도록하려면 채워지는 정확한 구획은 수류가 트레이 위에 위치한 위치에 따라 달라집니다. (튀지 않고 얇고 꾸준한 물 흐름을 가정하십시오.)
예를 들어 수도꼭지 F
가 가장 왼쪽 그리드 기둥 위에있는 경우
F
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
물은 X
해당 컬럼 에서 가장 위로 떨어지고 왼쪽과 오른쪽으로 퍼지고 왼쪽 절반은 아래 싱크대에 쏟아지고 오른쪽 절반은 2x1 구획을 채 웁니다. 구획이 채워지면, 수류의 오른쪽 절반은 아무데도 흐르지 않고 싱크대로 흘러 들어가고 수위는 기본적으로 안정적입니다.
수도꼭지를 끄면 트레이는 다음과 같이 보입니다. ( ~
물)
X X X
X~~X X XX X XX X
XXXXXX XXXXXXXXXXXXX
마찬가지로 수도꼭지를 다음과 같이 배치하면 :
F
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
두 개의 가장 왼쪽 구획을 채우지 만 나머지 물은 배수됩니다.
X X X
X~~X~X XX X XX X
XXXXXX XXXXXXXXXXXXX
수도꼭지를 다음과 같이 배치하면 :
F
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
스트림의 왼쪽 절반은 싱크대로 흘러 들어가지만 오른쪽 절반은 물이 평평한 표면에서 수평으로 얼마나 멀리 이동할 수 있는지에 대한 제한이 없기 때문에 3 개의 가장 오른쪽 구획을 채 웁니다.
X X~X
X X X XX~X~~XX~~~X
XXXXXX XXXXXXXXXXXXX
그러나 다음과 같이 배치되었습니다.
F
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
모든 물이 배수되고 구획이 채워지지 않습니다.
X X X
X X X XX X XX X
XXXXXX XXXXXXXXXXXXX
도전
공간의 직사각형 그리드에 걸리는 프로그램이나 함수 작성 X
의 및 하나 F
. 맨 윗줄에는 항상 F
공백이 포함되고 그렇지 않으면 공백 만 포함됩니다. X
각 열에서의이 (임의있는 경우) 계통의베이스에서 실선까지 연장되며, 즉 어떠한 동굴이나 돌출 없을 것이다.
수도꼭지 F
가 ~
위에 설명 된대로 물로 가능한 것을 채운 후 그리드를 인쇄하거나 반환하십시오 . F
출력 에서 맨 위 행을 비워 두십시오 .
수도꼭지 줄을 제외한 그리드는 최소 1 × 1이되므로
F X
지원해야하는 가장 작은 입력입니다.
입력은 완전한 텍스트 사각형으로 나타납니다. 선행 및 후행 공백은 입력 및 출력에 중요합니다. 예를 들어 입력
F X X XXXX
결과
X~~X XXXX
(앞뒤 공백 참고)
입력 또는 출력에 단일 후행 줄 바꿈이 있으면 좋습니다.
당신은 어떤 뚜렷한 사용할 수있는 인쇄 가능한 ASCII 공간 대신에 문자를,
X
,F
,~
.
바이트 단위의 가장 짧은 코드가 이깁니다.
큰 예 :
입력:
F
X X
X X X
X XXX X X X X X
X X XXXXXXX X XXX XXXXXXX X X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX
산출:
X~~~~~~~~~~~~~X
X~~~~~~~~~~~~~X~X
X~~~~~~~~~~~~XXX~~~~~~~X~~~~X~X~~~~~~~~~~~X X
X~~~X~~~~~XXXXXXX~~~~~~X~~~~XXX~~~~~XXXXXXX X X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX
zip()
<3