EduBrick

D. Пожары

3000 мс · 256 МБ · всё или ничего

На карте из . (свободно), # (стена) и F (пожар) для каждой свободной клетки найдите расстояние до ближайшего пожара — количество шагов по свободным клеткам и клеткам с пожаром, вверх, вниз, влево и вправо.

Клетка с пожаром имеет расстояние ноль. Через стены ходить нельзя.

Приём тот же, что в классе: все пожары кладутся в очередь сразу.

Формат ввода

Первая строка содержит числа nn и mm (1≤n,m≤10001 \le n, m \le 1000).

Далее идут nn строк по mm символов.

Формат вывода

Карта расстояний: nn строк по mm чисел через пробел. Для стен выведите −1-1, для клеток, куда огонь не доберётся, тоже −1-1.

Примеры

ввод
3 3
F..
...
..F
вывод
0 1 2
1 2 1
2 1 0
ввод
1 1
#
вывод
-1
Войдите, чтобы отправлять решения.