Олимпиадный тренинг

Задача . B. Чёрный квадрат


Задача

Темы: реализация *1300

У Поликарпа есть клетчатый лист бумаги размера n × m. Поликарп закрасил некоторые клетки этого листа чёрным цветом, остальные остались белыми. Вдохновленный историей о картине Малевича «Черный квадрат», Поликарп решил закрасить минимальное количество белых клеток листа в чёрный цвет так, чтобы все чёрные клетки на листе бумаги образовывали квадрат.

Перед вами стоит задача определить минимальное количество клеток, которые нужно закрасить в чёрный цвет, чтобы получился чёрный квадрат со сторонами параллельными сторонам листа? Все клетки, не принадлежащие квадрату, должны быть белого цвета. Сторона квадрата должна иметь ненулевую длину.

Входные данные

В первой строке следует два целых числа n и m (1 ≤ n, m ≤ 100) — размеры листа бумаги.

В следующих n строках следует по m символов 'B' и 'W' — описание изначальных цветов клеток. Если очередной символ равен 'B', то соответствующая клетка чёрного цвета, в противном случае, белого.

Выходные данные

Выведите минимальное количество клеток, которые нужно закрасить в чёрный цвет, чтобы получился чёрный квадрат со сторонами параллельными сторонам листа. Все клетки, не принадлежащие квадрату, должны быть белого цвета. Если этого сделать невозможно, выведите -1.

Примечание

В первом примере нужно закрасить 5 клеток — (2, 2), (2, 3), (3, 2), (3, 3) и (4, 2). Тогда получится квадрат с длиной стороны равной трём, а левый верхний угол квадрата будет находиться в точке (2, 2).

Во втором примере все клетки поля изначально закрашены в чёрный цвет и образуют прямоугольник, поэтому квадрат получить невозможно.

В третьем примере все клетки поля изначальное закрашены в белый цвет, поэтому достаточно закрасить любую из клеток поля, чтобы получить квадрат с длиной стороны равной единице.


Примеры
Входные данныеВыходные данные
1 5 4
WWWW
WWWB
WWWB
WWBB
WWWW
5
2 1 2
BB
-1
3 3 3
WWW
WWW
WWW
1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя