Introdução
Você aceitou recentemente uma oferta de emprego em uma empresa de software bastante boa. Você está bastante satisfeito com o tamanho do seu escritório, mas você tem o maior escritório? É meio difícil dizer apenas observando os escritórios de seus colegas de trabalho quando você passa por aqui. A única maneira de descobrir isso é examinar as plantas do edifício ...
Sua tarefa
Escreva um programa, script ou função que tenha uma planta baixa do seu prédio e indique se o seu escritório é o maior. O piso plano é fácil de ler porque o edifício é um n por n quadrado.
A entrada consistirá em linhas delimitadas por n + 1 \n
. A primeira linha terá o número n . As próximas n linhas serão a planta baixa do edifício. Um exemplo simples de entrada:
6
......
. . .
.X . .
. . .
. . .
......
As regras para a planta baixa são as seguintes:
.
(ASCII 46) Será usado para representar paredes.(Espaço [ASCII 32]) será usado para representar o espaço aberto.
- Você é representado por um
X
(ASCII 88). Você está no seu escritório. - A planta terá n linhas, cada uma com n caracteres.
- O edifício é totalmente cercado por paredes por todos os lados. Isso implica que a segunda linha de entrada (a primeira linha da planta baixa) e a última linha de entrada serão todas
.
s. Isso também implica que o primeiro e o último caracteres de cada linha da planta baixa serão.
s. - Um tamanho de escritório é definido como a soma dos espaços adjacentes (contíguos, movendo-se em 4 direções, N, S, E, W, sem passar por uma parede).
- Para fins de tamanho de escritório, o X representando você conta como um
(espaço aberto)
- 4 <= n <= 80
Você deve imprimir se seu escritório é estritamente maior que todos os outros escritórios. A saída pode ser qualquer coisa que signifique inequivocamente Verdadeiro ou Falso na sua linguagem de programação preferida e adira às convenções padrão de zero, nulo e vazio, significando Falso. Verdadeiro implica que seu escritório é estritamente o maior.
Saída de amostra para a entrada acima:
1
Porque o seu escritório mede 8 pés quadrados e o único outro escritório mede 4 pés quadrados.
Diretrizes de E / S
- A entrada pode ser lida em stdin e responder a saída em stdout.
Ou
- A entrada pode ser um argumento de cadeia única para uma função e resposta é o valor de retorno dessa função.
Perguntas frequentes
- Todo o edifício é composto por paredes e escritórios.
- O edifício é apenas um andar
- É garantido que haja um X na entrada, mas não há espaços garantidos. Você pode ter um escritório 1x1 e o restante do edifício é de paredes (você tem o maior escritório! Viva!).
Outro exemplo
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Aqui existem três escritórios, seu escritório sul é retangular, o escritório noroeste é um triângulo (ish) e o escritório nordeste é estranhamente deformado, mas maior que o seu. A saída deve ser falsa.
Este é um desafio para escrever o código mais curto, feliz código-golfe !
X
permitido na entrada. :)