Введение
Вы недавно приняли предложение о работе в довольно хорошей компании по разработке программного обеспечения. Вы довольно довольны размером своего офиса, но у вас самый большой офис? Трудно сказать, просто заглядывая в офисы ваших коллег, когда вы заходите. Единственный способ понять это - изучить чертежи здания ...
Твое задание
Напишите программу, сценарий или функцию, которая принимает план здания для вашего здания и указывает, является ли ваш офис самым большим. План этажа легко читается, потому что здание представляет собой квадрат n на n .
Вход будет состоять из n + 1 \n
-лимитированных строк. В первой строке будет номер n . Следующими n строками будет план этажа здания. Простой пример ввода:
6
......
. . .
.X . .
. . .
. . .
......
Правила для плана этажа следующие:
.
(ASCII 46) Будет использоваться для представления стен.(Пробел [ASCII 32]) будет использоваться для представления открытого пространства.
- Вы представлены
X
(ASCII 88). Вы находитесь в своем офисе. - План этажа будет состоять из n строк, каждая из которых содержит n символов.
- Здание полностью окружено стенами со всех сторон. Это означает, что все 2-я строка ввода (первая строка плана этажа) и последняя строка ввода будут все
.
s. Это также подразумевает, что первый и последний символы каждой строки плана этажа будут.
s. - Размер офиса определяется как сумма смежных пространств (смежных, перемещаясь в 4 направлениях, N, S, E, W, не проходя через стену).
- Для размера офиса, X, представляющий вас, считается как
(открытое пространство)
- 4 <= n <= 80
Вы должны указать, является ли ваш офис строго больше всех остальных офисов. Выходными данными могут быть все, что однозначно означает Истина или Ложь в выбранном вами языке программирования и соответствует стандартным соглашениям, равным нулю, нулю и пустому значению Ложь. Правда подразумевает, что ваш офис строго самый большой.
Пример вывода для вышеуказанного ввода:
1
Потому что ваш офис 8 квадратных футов, а единственный другой офис - 4 квадратных фута.
Руководство по вводу / выводу
- Входные данные могут быть прочитаны из стандартного ввода, а выходные данные - в стандартный вывод.
Или
- Входные данные могут быть одним строковым аргументом функции, а answer - возвращаемым значением этой функции.
Вопросы-Ответы
- Все здание состоит из стен и офисов.
- В здании всего один этаж
- На входе гарантированно указан X, но не должно быть пробелов. У вас может быть офис 1х1, а остальная часть здания - стены (у вас самый большой офис! Ура!).
Другой пример
10
..........
. . . .
. . . .
. . . .
. .. . .
.. .
..........
. X .
. .
..........
Здесь есть 3 офиса, ваш южный офис прямоугольный, северо-западный офис - треугольник (иш), а северо-восточный офис странно деформирован, но больше, чем ваш. Вывод должен быть False.
Это задача написать самый короткий код, счастливый код-гольф !
X
входных данных. :)