소개
최근에 Pretty Good Software Company에서 채용 제안을 수락했습니다. 사무실 크기에 만족하지만 가장 큰 사무실이 있습니까? 당신이 들릴 때 동료의 사무실을 시선으로 보는 것만으로도 말하기가 어렵습니다. 이것을 알아내는 유일한 방법은 건물의 청사진을 조사하는 것입니다.
당신의 작업
건물의 평면도를 작성하고 사무실이 가장 큰지 여부를 나타내는 프로그램, 스크립트 또는 기능을 작성하십시오. 건물은 n x n 정사각형 이므로 평면도를 쉽게 읽을 수 있습니다.
입력은 n + 1 \n
구분 라인 으로 구성됩니다 . 첫 번째 줄에는 숫자 n 이 있습니다. 다음 n 줄은 건물의 평면도입니다. 간단한 예제 입력 :
6
......
. . .
.X . .
. . .
. . .
......
평면도의 규칙은 다음과 같습니다.
.
(ASCII 46) 벽을 나타내는 데 사용됩니다.(공백 [ASCII 32])은 열린 공간을 나타내는 데 사용됩니다.
- 귀하는
X
(ASCII 88)으로 표시됩니다. 당신은 당신의 사무실에 있습니다. - 평면도는 각각 n 개의 문자 가있는 n 줄 입니다.
- 건물은 모든면에서 벽으로 완전히 둘러싸여 있습니다. 이는 두 번째 입력 라인 (평면도의 첫 번째 라인)과 마지막 입력 라인이 모두
.
s 임을 의미합니다 . 또한 모든 평면도의 첫 문자와 마지막 문자가.
s 임을 의미합니다 . - 사무실 크기는 인접한 공간의 합으로 정의됩니다 (벽을 통하지 않고 N, S, E, W의 4 방향으로 이동하여 연속 됨).
- 사무실 크기의 목적 상, 당신을 나타내는 X는
(공백) 으로 계산됩니다.
- 4 <= n <= 80
사무실이 다른 모든 사무실보다 엄격하게 큰지 여부를 출력해야합니다. 출력은 선택한 프로그래밍 언어에서 True 또는 False를 명확하게 나타내며 0, null 및 비어있는 False를 나타내는 표준 규칙을 준수합니다. True는 사무실이 엄청나게 크다는 것을 의미합니다.
위 입력에 대한 샘플 출력 :
1
사무실은 8 평방 피트이고 다른 사무실은 4 평방 피트이기 때문입니다.
I / O 지침
- stdin에서 입력을 읽고 stdout에 출력에 응답 할 수 있습니다.
또는
- 입력은 함수에 대한 단일 문자열 인수 일 수 있으며 응답은 해당 함수의 리턴 값입니다.
자주하는 질문
- 전체 건물은 벽과 사무실로 구성되어 있습니다.
- 건물은 1 층에 불과합니다
- 입력에 X가 보장되지만 공백이 보장되지는 않습니다. 당신은 1x1 사무실을 가질 수 있고 건물의 나머지는 벽입니다 (당신은 가장 큰 사무실을 가지고 있습니다! hooray!).
다른 예
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
여기에는 3 개의 사무실이 있고, 남쪽 사무실은 직사각형이고, 북서 사무실은 삼각형 (ish)이며 북동쪽 사무실은 이상하게 잘못 표시되어 있지만 여전히 사무실보다 큽니다. 출력은 False 여야합니다.
가장 짧은 코드 인 행복한 코드 골프 를 작성하는 것은 어려운 일입니다 !
X
입력 에 허용되는 최대 수를 추가 할 수 있습니다 . :)