introduzione
Di recente hai accettato un'offerta di lavoro presso una Pretty Good Software Company. Sei abbastanza contento delle dimensioni del tuo ufficio, ma hai l' ufficio più grande ? È un po 'difficile da dire guardando gli uffici dei tuoi colleghi quando ti fermi. L'unico modo per capirlo è esaminare i progetti per l'edificio ...
Il tuo compito
Scrivi un programma, uno script o una funzione che prenda una planimetria per il tuo edificio e indichi se il tuo ufficio è il più grande. La planimetria è di facile lettura perché l'edificio è un quadrato n per n .
L'input sarà composto da n + 1 \n
righe delimitate. La prima riga avrà il numero n su di essa. Le prossime n righe saranno la planimetria dell'edificio. Un semplice input di esempio:
6
......
. . .
.X . .
. . .
. . .
......
Le regole per la planimetria sono le seguenti:
.
(ASCII 46) Sarà usato per rappresentare i muri.(Spazio [ASCII 32]) verrà utilizzato per rappresentare lo spazio aperto.
- Sei rappresentato da un
X
(ASCII 88). Sei nel tuo ufficio. - La planimetria sarà composta da n righe, ognuna con n caratteri.
- L'edificio è completamente circondato da mura su tutti i lati. Ciò implica che la seconda riga di input (la prima riga della planimetria) e l'ultima riga di input saranno tutte
.
s. Implica anche che il primo e l'ultimo carattere di ogni riga della planimetria saranno.
s. - Le dimensioni di un ufficio sono definite come la somma degli spazi adiacenti (contigui spostandosi in 4 direzioni, N, S, E, W, senza attraversare un muro).
- Ai fini delle dimensioni dell'ufficio, la X che ti rappresenta conta come
(spazio aperto)
- 4 <= n <= 80
Dovresti sapere se il tuo ufficio è strettamente più grande di tutti gli altri uffici. L'output può essere qualsiasi cosa che significhi inequivocabilmente Vero o Falso nel linguaggio di programmazione scelto e aderisca alle convenzioni standard di zero, null e vuoto che significa Falso. Vero implica che il tuo ufficio è strettamente il più grande.
Output di esempio per l'input sopra:
1
Perché il tuo ufficio è di 8 piedi quadrati e l'unico altro ufficio è di 4 piedi quadrati.
Linee guida I / O
- L'input può essere letto da stdin e rispondere a stdout.
O
- L'input può essere un singolo argomento stringa per una funzione e la risposta può essere il valore restituito di quella funzione.
FAQ
- L'intero edificio è costituito da pareti e uffici.
- L'edificio è solo un piano
- È garantito che ci sia una X nell'input, ma non ci sono spazi garantiti. Potresti avere un ufficio 1x1 e il resto dell'edificio è costituito da muri (hai l'ufficio più grande! Evviva!).
Altro esempio
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Qui ci sono 3 uffici, il tuo ufficio sud è rettangolare, l'ufficio nord-ovest è un triangolo (ish) e l'ufficio nord-est è stranamente deforme, ma più grande del tuo. L'output dovrebbe essere False.
Questa è una sfida per scrivere il codice più breve, felice code-golf ing!
X
consentito nell'input. :)