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

Задача . Replication


Задача

Темы:
Фермер Джон сделал робота!

Ферма может быть представлена решёткой \(N\times N\) (\(3\le N\le 1000\)), где каждая ячейка решётки или пустая или заполнена скалой и все граничные ячейки заполнены скалой. Некоторые пустые ячейки определены как возможные стартовые позиции робота.

ФД изначально располагает робота на одной из возможных стартовых позиций. В каждый последующий час все копии робота как одна скоординированная масса двигаются в некотором направлении - на север, юг, запад или восток. После \(D\) часов (\(1 \leq D \leq 10^9\)), каждая копия робота реплицируется --- робот в ячейке \((x,y)\) который реплицируется, создаёт новые копии в ячейках \((x+1,y)\), \((x-1,y)\), \((x,y+1)\), \((x,y-1)\); оригинальный робот остаётся в ячейке \((x,y)\). После некоторого времени много роботов могут занять одну и ту же ячейку.

Если движение или репликация приведут к тому, что робот врежется в скалу, тогда все роботы незамедлительно останавливаются. Заметим, из этого следует, что роботы обязательно когда-то остановятся, поскольку граница фермы вся из скалы.

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

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит два разделённых пробелом целых числа \(N\) и \(D\). Каждая из следующих \(N\) строк содержит по \(N\) символов. Каждый символ - один из '.', 'S', '#'. '.' и 'S' представляют пустые ячейки, причём 'S' обозначает возможную стартовую позицию робота. '#' обозначает скалу.

Все символы в первой и последней строке, в первом и последнем столбце - '#'.

ФОРМАТ ВЫВОДА (на экран / stdout):

Одно целое число, содержащее количество ячеек, которые могут в некоторый момент времени содержать робота.


Примеры
Входные данныеВыходные данные
1 10 1
##########
#........#
#S.......#
#........#
##########
#S....S..#
##########
##########
##########
##########
15

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

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