eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків

Ліс

У середній полосі Росії іноді росте ліс. Для того, щоб відокремити ліс від корисних орних земель, між лісом та полем було збудовано паркан. Проте ліс з часом росте і паркан потрібно перенести. Місцевість можна подати у вигляді карти з \textbf{N}×\textbf{M} клітинок. Кожна клітинка містить у собі або ліс, або поле, або паркан. Клітинки, які містять паркан, мають наступні властивості: \begin{enumerate} \item Паркан зв'язний. Це значить, що від кожної його клітинки до кожної можна дійти, пересуваючись лише по сусіднім клітинкам (сусідніми вважаються клітинки, які мають спільну сторону). \item Паркан мінімальний по включенню, тобто забравши яку-небудь клітинку з паркану (замінивши її на ліс або поле), він перестане бути парканом. \item Паркан розділяє ліс та поле, а саме усі клітинки ліворуч від паркану є лісом, усі клітинки праворуч від паркану є полем. \item Паркан можна подати у вигляді послідовності клітинок таким чином, що наступна клітинка знаходиться від попередньої ліворуч, праворуч або знизу. \end{enumerate} Вам дозволяється під паркан використовувати усі клітинки, які він займав спочатку, а також клітинки, які знаходяться не більш ніж на один праворуч від початкових клітинок паркану (забороняється використовувати лівий та правий стовбці карти). Вашим завданням буде побудувати паркан мінімальної довжини, яки задовольняє усім вищенаведеним умовам паркану. Відомо, що початковий паркан є парканом, а також, що лівий стовбець карти повністю зайнятий лісом, а правий стовбець карти повністю зайнятий полем. \InputFile У першому рядку вхідного файлу знаходяться два числа \textbf{N} та \textbf{M} - розміри карти (\textbf{1} ≤ \textbf{N}, \textbf{M} ≤ \textbf{1000}). Далі йде \textbf{N }рядків по \textbf{M} символів у кожному - карта, яка описує початкове положення лісу, поля та паркану. Клітинки, зайняті лісом, позначаються символом "\textbf{F}", клітинки, зайняті полем - символом "\textbf{.}", клітинки, зайняті парканом - символом "\textbf{#}". \OutputFile Виведіть єдине число - мінимальну довжину паркану, яку можна отримати.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5 4
FF#.
F##.
F#..
F##.
FF#.
Вихідні дані #1
5
Джерело 15 Международная олимпиада для школьников ЛКШ для параллелей B,A',A