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