eolymp
bolt
Try our new interface for solving problems
Problems

Острова

Острова

Генератор случайных карт известной игры Heroes of Might and Magic III создает острова, на которых изначально будут расположены герои. При такой генерации острова получаются различными по величине. Назовем коэффициентом несправедливости отношение площади наибольшего острова к площади наименьшего. Требуется определить этот коэффициент. Карта задается прямоугольником \textbf{N}×\textbf{M}, в каждой клетке которого записана цифра \textbf{0} (вода) или цифра \textbf{1} (земля). Островом считается максимальное связное множество клеток, содержащих единички, т.е. такое множество клеток \textbf{A}, что: \begin{itemize} \item из любой клетки \textbf{A} можно пройти до любой другой клетки \textbf{A}, переходя лишь через клетки \textbf{A} и их стороны; \item при добавлении к \textbf{A} любой другой клетки, содержащей \textbf{1}, предыдущее условие нарушается. \end{itemize} \InputFile В первой строке входного файла содержатся числа \textbf{N} и \textbf{M} -- размеры карты (\textbf{1} ≤ \textbf{N}, \textbf{M} ≤ \textbf{1000}). Далее записана сама карта -- \textbf{M} строк по \textbf{N} чисел (\textbf{0} или \textbf{1}) в каждой. Числа внутри строки разделяются пробелом. \OutputFile В выходной файл вывести коэффициент несправедливости с \textbf{5} знаками после десятичной точки. Если на карте нет ни одного острова, вывести \textbf{0}.
Time limit 1 second
Memory limit 64 MiB
Input example #1
7 6
1 1 0 0 0 0 0
0 1 0 1 0 0 0
1 1 0 1 1 0 0
1 0 0 0 1 0 0
0 0 0 1 1 1 0
1 1 1 0 0 1 0
Output example #1
2.66667