eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Лабиринт

Лабиринт

Администрация лабиринта решила начать новый сезон с новыми обоями. Для этого им необходима программа, вычисляющая площадь стен внутри лабиринта. Эта работа как раз для вас!

Лабиринт представлен матрицей n × n (3n33, как видите 3 - магическая цифра!). Некоторые точки матрицы содержат точку ('.'), означающую пустую клетку. В остальных клетках находится диез ('#'), означающий клетку с монолитной каменной стеной. Все квадраты имеют размер 3 × 3 метра.

Стены расположены вокруг лабиринта (кроме верхнего левого и нижнего правого угла, которые используются в качестве входов) и в ячейках с символом диеза. Никаких других стен нет. В левом верхнем и правом нижнем углу входной матрицы всегда расположена точка.

prb5622

Необходимо вычислить площадь видимой части стен внутри лабиринта. Другими словами, площадь поверхности видимой части лабиринта для посетителя. Отметим, что не существует никаких отверстий между любыми двумя смежными блоками стены, в которые можно было бы что-то разглядеть. Блоки считаются соседними, если они касаются друг друга любым углом. На рисунке сверху видимая часть стен внутри лабиринта отмечена жирной линией. Высота всех стен 3 метра.

Входные данные

Первая строка содержит число n. Каждая из следующих n строк содержит n символов. Каждая строка описывает строку матрицы лабиринта. В каждой строке используются только символы точки и диеза, в конце каждой строки находится символ перехода на новую строку. Пробелов во входных данных нет.

Выходные данные

Вывести одно число - требуемую площадь обоев.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
5
.....
...##
..#..
..###
.....
Выходные данные #1
198
Автор Владимир Пинаев
Источник 1999 III Командный Студенческий Чемпионат Урала, Екатеринбург, Март 19 - 20, Задача F