eolymp
bolt
Try our new interface for solving problems
Məsələlər

Секретный бункер

Секретный бункер

Имеется план секретного бункера в виде прямоугольного поля, на котором местоположение бомб отмечено символом '\textbf{*}', секретных объектов -- символом '\textbf{?}', а пустые клетки -- символом '\textbf{.}'. В случае опасности подрыв любой бомбы должен приводить к уничтожению секретных объектов. Бомба при взрыве уничтожает все объекты, для которых расстояние от центра клетки с бомбой до центра клетки с объектом меньше или равно \textbf{D}. Если в пределах действия бомбы оказывается другая бомба, она также взрывается. Напишите программу, вычисляющую минимальное значение \textbf{D}, при котором взрыв любой бомбы приводит к уничтожению всех секретных объектов. \InputFile Во входном файле несколько тестов. В первом строке каждого теста содержатся два целых числа \textbf{N }и\textbf{ M} через пробел -- размеры плана бункера (\textbf{1}  ≤  \textbf{N}\textit{ } ≤  \textbf{50}, \textbf{1}  ≤  \textbf{M}  ≤  \textbf{50}). Далее следует \textbf{N} строк, содержащих по \textbf{M} символов '\textbf{.}', '\textbf{*}' и '\textbf{?}'. План содержит от \textbf{1} до \textbf{100} символов '\textbf{?}' и от \textbf{1} до \textbf{100} символов '\textbf{*}'. Строка, содержащая "\textbf{0} \textbf{0}", сигнализирует о завершении набора тестов и не обрабатывается. \OutputFile В выходной файл для каждого теста вывести строку, содержащую одно вещественное число -- минимальное значение \textbf{D} для соответствующего плана с точностью \textbf{10^\{−6\}}.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
2 3
*.*
.?.
5 5
***** 
.?.?.
..?..
.?.?.
*****
0 0
Çıxış verilənləri #1
1.414214
3.000000