Олимпиадный тренинг

Задача . A. Лунный новый год и подсчет крестов


Задача

Темы: реализация *800

Приближается лунный новый год, и вы купили матрицу со множеством «крестов».

Матрица \(M\) размера \(n \times n\) содержит только «X» и «.» (без кавычек). Обозначим элемент \((i, j)\) в \(i\)-й строке и \(j\)-м столбце за \(M(i, j)\), где \(1 \leq i, j \leq n\). Скажем, что в \(i\)-й строке и \(j\)-м столбце (\(1 < i, j < n\)) находится крест, если и только если \(M(i, j) = M(i - 1, j - 1) = M(i - 1, j + 1) = M(i + 1, j - 1) = M(i + 1, j + 1) = \) «X».

Ниже показан пример креста в позиции \((2, 2)\) в матрице \(3 \times 3\).


X.X
.X.
X.X

Ваша задача — найти количество крестов в данной матрице \(M\). Два креста различны, если они встречаются в различных строках или столбцах.

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

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 500\)) — размер матрицы \(M\).

Следующие \(n\) строк описывают матрицу \(M\). Каждая строка содержит ровно \(n\) символов, каждый из которых либо «X», либо «.». Символ \(j\) в \(i\)-й строке — элемент \(M(i, j)\), где \(1 \leq i, j \leq n\).

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

Выведите одно целое число \(k\) — количество крестов в данной матрице \(M\).

Примечание

В первом примере есть крест в позиции \((3, 3)\), поэтому ответ равен \(1\).

Во втором примере нет крестов, так как \(n < 3\), поэтому ответ равен \(0\).

В третьем примере кресты встречаются в позициях \((3, 2)\), \((3, 4)\), \((4, 3)\), \((4, 5)\), поэтому ответ равен \(4\).


Примеры
Входные данныеВыходные данные
1 5
.....
.XXX.
.XXX.
.XXX.
.....
1
2 2
XX
XX
0
3 6
......
X.X.X.
.X.X.X
X.X.X.
.X.X.X
......
4

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя