Introducción
Recientemente ha aceptado una oferta de trabajo en Pretty Good Software Company. Estás bastante contento con el tamaño de tu oficina, pero ¿tienes la oficina más grande ? Es un poco difícil de distinguir simplemente mirando las oficinas de tus compañeros de trabajo cuando pasas por aquí. La única forma de resolver esto es examinar los planos del edificio ...
Tu tarea
Escriba un programa, script o función que tome un plano de planta para su edificio e indique si su oficina es la más grande. El plano de planta es fácil de leer porque el edificio es un cuadrado de n por n .
La entrada consistirá en n + 1 \n
líneas delimitadas. La primera línea tendrá el número n . Las siguientes n líneas serán el plano del edificio. Un ejemplo de entrada simple:
6
......
. . .
.X . .
. . .
. . .
......
Las reglas para el plano son las siguientes:
.
(ASCII 46) Se utilizará para representar paredes.(Espacio [ASCII 32]) se utilizará para representar el espacio abierto.
- Estás representado por un
X
(ASCII 88). Estas en tu oficina - El plano será de n líneas, cada una con n caracteres.
- El edificio está totalmente rodeado de paredes por todos lados. Esto implica que la segunda línea de entrada (la primera línea del plano de planta) y la última línea de entrada serán todas
.
s. También implica que el primer y último carácter de cada línea del plano será.
s. - El tamaño de una oficina se define como la suma de espacios adyacentes (contiguos moviéndose en 4 direcciones, N, S, E, W, sin atravesar una pared).
- Para el tamaño de la oficina, la X que lo representa cuenta como un
(espacio abierto)
- 4 <= n <= 80
Debe indicar si su oficina es estrictamente más grande que todas las demás. La salida puede ser cualquier cosa que signifique inequívocamente Verdadero o Falso en el lenguaje de programación de su elección y se adhiera a las convenciones estándar de cero, nulo y vacío que significa Falso. Verdadero implica que su oficina es estrictamente la más grande.
Salida de muestra para la entrada anterior:
1
Porque su oficina es de 8 pies cuadrados, y la única otra oficina es de 4 pies cuadrados.
Pautas de E / S
- La entrada puede leerse desde stdin, y responder la salida a stdout.
O
- La entrada puede ser un argumento de cadena única para una función, y la respuesta será el valor de retorno de esa función.
Preguntas más frecuentes
- Todo el edificio consta de muros y oficinas.
- El edificio es de una sola planta.
- Se garantiza que haya una X en la entrada, pero no se garantiza que haya ningún espacio. Podrías tener una oficina 1x1 y el resto del edificio son paredes (¡tienes la oficina más grande! ¡Hurra!).
Otro ejemplo
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Aquí hay 3 oficinas, su oficina sur es rectangular, la oficina noroeste es un triángulo (ish) y la oficina noreste está extrañamente deformada, pero es más grande que la suya. La salida debe ser False.
¡Es un desafío escribir el código más corto, feliz código de golf !
X
permitido en la entrada. :)