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

Блокада

Блокада

Держава Флатландія являє собою прямокутник розміром, що складається з одиничних квадратиків. Флатланд розділена на \textbf{K} провінцій (\textbf{2} ≤ \textbf{K} ≤ \textbf{100}). Кожна провінція являє собою зв'язну множину квадратиків, тобто з кожної точки провінції можна дійти до будь-якої іншої її точки, при цьому дозволяється переходити з квадратика на квадратик, тільки якщо вони мають спільну сторону (спільної вершини недостатньо). У Флатландії немає точки, яка межувала б більш ніж з трьома провінціями (тобто чотири квадратика, що мають спільну вершину, не можуть належати чотирьом різним провінціям). Кожна провінція має свій символ. Столиця Флатландії знаходиться в провінції, якій належить символ \textbf{A} (велика латинська літера \textbf{A}). Провінція називається прикордонною, якщо вона містить граничні квадратики. Провінція, у якій знаходиться столиця Флатландії, не є прикордонною. Король сусіднього з Флатландією королівства Ректіланія вирішив завоювати Флатландію. Для цього він хоче захопити столицю Флатландії. Проте він знає, що сил його армії недостатньо, щоб зробити це відразу. Тому спочатку він хоче оточити столичну провінцію, щоб ослабити сили супротивника довгою блокадою, а потім захопити столицю. Щоб оточити провінцію, потрібно захопити всі провінції, з якими вона межує. Дві провінції межують, якщо існує два квадратики, що мають спільну сторону, один з яких належить до першої з них, а інший - другій. Щоб захопити провінцію, треба щоб виконувалося одна з двох умов: або вона прикордонна, або межує з будь-якою вже захопленою провінцією. Щоб зберегти сили своєї армії, король Ректіланіі хоче встановити блокаду столичної провінції, захопивши якомога менше провінцій. Допоможіть йому з'ясувати, скільки провінцій потрібно захопити. Захоплювати столичну провінцію не можна, оскільки для цього сил армії Ректіланіі поки недостатньо. \InputFile Перший рядок містить \textbf{M} і \textbf{N} (\textbf{3} ≤ \textbf{M}, \textbf{N} ≤ \textbf{200}). Наступні \textbf{M} рядків містять \textbf{N} символів кожен і задають карту Флатландії. Символ, який знаходиться у \textbf{i+1}-му рядку вхідного файлу на \textbf{j}-му місці, задає собою символ провінції, якій належить квадратик (\textbf{i}, \textbf{j}). Усі символи мають \textbf{ASCII}-код більший \textbf{32} (пропуск). \OutputFile Виведіть у вихідний файл єдине число - кількість провінцій, які потрібно захопити. Якщо встановити блокаду неможливо, виведіть "\textbf{--1}".
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 6
BBBBBZ
BCCCBZ
BCAbbZ
BDDDbZ
�����Z
Вихідні дані #1
4