eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Вышивка крестом

Вышивка крестом

\includegraphics{https://static.e-olymp.com/content/5e/5e123efcedc1154dc893fd09884e184fbb29e608.jpg} Археологи нашли ткань, украшенную вышивкой. Это была вышивка крестом несколькими нитками. Были также обнаружены следующие правила: \begin{enumerate} \item Ткань имеет сетку с квадратными ячейками. \item Каждый стежок покрывает диагональ одной ячейки сетки. Стежки могут находиться на обеих сторонах ткани, но каждый из них может находиться только на одной стороне (нитка может начинаться, заканчиваться и пересекать ткань только в вершинах сетки). \item Не более чем один стежок может находиться на каждой диагонали каждой ячейки с каждой стороны ткани. \item Каждая нить совершает несколько стежков, расположенных поочередно на разных сторонах ткани. (Это означает, что два последовательных стежка одной нити лежат по разные стороны ткани и касаются в вершине сетки) \item Иголка может проходить сквозь ткань только в вершинах сетки. \end{enumerate} На рисунке представлен фрагмент вышивки из шести стежков. Размер сетки \textbf{4}×\textbf{5}. Лицевая сторона ткани представлена на рисунке сверху. Стежки на лицевой части ткани представлены сплошными линиями. Стежки с обратной стороны ткани отображены линиями с точками. На нижней части рисунка ткань ориентирована так же, как и на верхней. Все стежки изнаночной стороны ткани уже здесь отображены сплошными линиями. Лицевые стежки, которые не совпадают с изнаночными, отображаются прямыми с точками. Можно заметить, что стежки могут покрывать обе диагонали одной ячейки. Приведенную вышивку крестом можно совершить, используя не менее четырех ниток. Археологи хотят выяснить, действительно ли заданный узор получен при помощи наименьшего количества нитей. Напишите программу, которая определит наименьшее количество нитей, достаточное для получения заданной картины. \InputFile Первая строка содержит два числа \textbf{N} и \textbf{M}. Это размер сетки по вертикали (\textbf{N}) и по горизонтали (\textbf{M}), то есть количество ячеек соответственно в вертикальном и горизонтальном ряду (\textbf{1 }≤ \textbf{N}, \textbf{M }≤ \textbf{200}). Каждая из следующих \textbf{2N} строк содержит \textbf{M} символов. Каждый символ описывает одну клетку сетки. Первые \textbf{N} строк соответствуют лицевой стороне ткани, а последние \textbf{N} строк - изнаночной стороне ткани. Используются символы "\textbf{.}", "\textbf{/}", "\textbf{\textbackslash}" и "\textbf{X}" (точка означает пустую клетку). Для получения большей информации обратитесь к рисунку. Он соответствует приведенному примеру. \OutputFile Вывести одно число - наименьшее количество ниток, которыми можно вышить заданный узор.
Лимит времени 0.5 секунд
Лимит использования памяти 64 MiB
Входные данные #1
4 5
.....
.\...
..\..
.....
.....
....\
.\X..
.....
Выходные данные #1
4
Автор Павел Залецкий
Источник 1999 III Командный Студенческий Чемпионат Урала, Екатеринбург, Март 19 - 20, Задача H