Einführung
Sie haben kürzlich ein Stellenangebot bei einer Pretty Good Software Company angenommen. Sie sind ziemlich zufrieden mit der Größe Ihres Büros, aber haben Sie das größte Büro? Es ist schwer zu sagen, wenn man nur die Büros seiner Kollegen ansieht, wenn man vorbeischaut. Der einzige Weg, dies herauszufinden, ist die Überprüfung der Baupläne für das Gebäude ...
Deine Aufgabe
Schreiben Sie ein Programm, ein Skript oder eine Funktion, die einen Grundriss für Ihr Gebäude erstellt und angibt, ob Ihr Büro das größte ist. Der Grundriss ist leicht zu lesen , weil das Gebäude ist eine n von n Platz.
Die Eingabe besteht aus n + 1- \n
begrenzten Zeilen. In der ersten Zeile steht die Nummer n . Die nächsten n Zeilen sind der Grundriss des Gebäudes. Ein einfaches Eingabebeispiel:
6
......
. . .
.X . .
. . .
. . .
......
Die Regeln für den Grundriss lauten wie folgt:
.
(ASCII 46) Wird zur Darstellung von Wänden verwendet.(Leerzeichen [ASCII 32]) wird verwendet, um den offenen Raum darzustellen.
- Sie werden durch ein
X
(ASCII 88) dargestellt. Sie sind in Ihrem Büro. - Der Grundriss besteht aus n Zeilen mit jeweils n Zeichen.
- Das Gebäude ist rundum von Mauern umgeben. Dies impliziert, dass die 2. Eingabezeile (die erste Zeile des Grundrisses) und die letzte Eingabezeile alle
.
s sind. Dies impliziert auch, dass das erste und das letzte Zeichen jeder Grundrisslinie.
s sind. - Eine Bürogröße ist definiert als die Summe benachbarter Räume (zusammenhängend durch Bewegen in 4 Richtungen, N, S, E, W, ohne durch eine Wand zu gehen).
- Für die Bürogröße gilt das X, das Sie darstellt, als
(offener Bereich).
- 4 <= n <= 80
Sie sollten ausgeben, ob Ihr Büro streng größer ist als alle anderen Büros. Die Ausgabe kann alles sein, was in der Programmiersprache Ihrer Wahl eindeutig Wahr oder Falsch bedeutet und den Standardkonventionen Null, Null und Leer entspricht, was Falsch bedeutet. Richtig bedeutet, dass Ihr Büro das größte ist.
Beispielausgabe für obige Eingabe:
1
Weil Ihr Büro 8 Quadratmeter groß ist und das einzige andere Büro 4 Quadratmeter groß ist.
I / O-Richtlinien
- Die Eingabe kann von stdin gelesen und die Ausgabe auf stdout beantwortet werden.
Oder
- Die Eingabe kann ein einzelnes Zeichenfolgenargument für eine Funktion sein und answer der Rückgabewert dieser Funktion.
FAQ
- Das gesamte Gebäude besteht aus Mauern und Büros.
- Das Gebäude ist nur eine Etage
- In der Eingabe ist ein X garantiert, es sind jedoch keine Leerzeichen garantiert. Sie könnten ein 1x1 Büro haben und der Rest des Gebäudes sind Wände (Sie haben das größte Büro! Hurra!).
Anderes Beispiel
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Hier gibt es 3 Büros, Ihr Südbüro ist rechteckig, das Nordwestbüro ist ein Dreieck (ish) und das Nordostbüro ist merkwürdig unförmig, aber größer als deins. Die Ausgabe sollte False sein.
Dies ist eine Herausforderung, um den kürzesten Code zu schreiben, glückliches Code-Golfen !
X
zulässigen in der Eingabe hinzufügen . :)