Wprowadzenie
Niedawno zaakceptowałeś ofertę pracy w Pretty Good Software Company. Jesteś całkiem zadowolony z wielkości swojego biura, ale czy masz największe biuro? Trudno to odróżnić od spojrzenia na biura współpracowników, kiedy wpadniesz. Jedynym sposobem na rozwiązanie tego problemu jest sprawdzenie planów budynku ...
Twoje zadanie
Napisz program, skrypt lub funkcję, która bierze plan piętra dla twojego budynku i wskazuje, czy twoje biuro jest największe. Plan piętra jest łatwy do odczytania, ponieważ budynek ma kwadrat n na n .
Dane wejściowe będą składały się z n + 1 \n
-niepełnionych linii. Pierwszy wiersz będzie miał na sobie liczbę n . Kolejne n wierszy będzie planem budynku. Prosty przykładowy wpis:
6
......
. . .
.X . .
. . .
. . .
......
Zasady dotyczące planu piętra są następujące:
.
(ASCII 46) Będzie używany do reprezentowania ścian.(Spacja [ASCII 32]) zostanie użyta do przedstawienia otwartej przestrzeni.
- Jesteś reprezentowany przez
X
(ASCII 88). Jesteś w swoim biurze - Plansem będzie n linii, każda z n znakami.
- Budynek jest całkowicie otoczony ścianami ze wszystkich stron. Oznacza to, że drugi wiersz danych wejściowych (pierwszy wiersz planu piętra) i ostatni wiersz danych wejściowych będą
.
s. Oznacza to również, że pierwszymi i ostatnimi znakami każdej linii planu piętra będą litery.
s. - Wielkość biura jest definiowana jako suma sąsiadujących ze sobą przestrzeni (sąsiadujących, przesuwając się w 4 kierunkach, N, S, E, W, bez przechodzenia przez ścianę).
- Dla celów wielkości biura X reprezentujący cię liczy się jako
(otwarta przestrzeń)
- 4 <= n <= 80
Powinieneś wypisać, czy twoje biuro jest ściśle większe niż wszystkie inne biura. Wynikiem może być wszystko, co jednoznacznie oznacza Prawdę lub Fałsz w wybranym języku programowania i jest zgodne ze standardowymi konwencjami zero, zero i puste, oznaczające fałsz. Prawda oznacza, że twoje biuro jest ściśle największe.
Przykładowe dane wyjściowe dla powyższego wejścia:
1
Ponieważ twoje biuro ma 8 stóp kwadratowych, a jedyne inne biuro ma 4 stopy kwadratowe.
Wytyczne I / O
- Dane wejściowe można odczytać ze standardowego wejścia, a odpowiedź na standardowe wyjście.
Lub
- Dane wejściowe mogą być argumentem pojedynczego ciągu funkcji, a odpowiedzią może być wartość zwracana przez tę funkcję.
FAQ
- Cały budynek składa się ze ścian i biur.
- Budynek ma tylko jedno piętro
- Na wejściu jest gwarantowane X, ale nie ma żadnych spacji. Możesz mieć biuro 1x1, a reszta budynku to ściany (masz największe biuro! Hura!).
Inny przykład
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Tutaj są 3 biura, twoje biuro południowe jest prostokątne, biuro północno-zachodnie to trójkąt (ish), a biuro północno-wschodnie jest dziwnie zniekształcone, ale większe niż twoje. Wynik powinien być fałszywy.
Wyzwanie polega na napisaniu najkrótszego kodu, udanej gry w golfa !
X
dozwolonych danych wejściowych. :)