Прямоугольное поле mна n разбито на mn квадратных клеток. Нектороые клетки покрашены в черный цвет. Известно, что все клетки,покрашенные в черный цвет,могут быть разбиты на несколько неперсекающихся и неимеющих общих вершин прямоугольников. Считая, что цвета клеток клеток даны в виде массива array [1..m] of array [1..n] of boolean; подсчитать количество черных прямоугольников, о которых шла речь. Количество действий порядка m*n
Решение:
Число прямоугольников равно числу их левых верхних углов. Является ли клетка верхним левым углом, можно узнать, упосмотрев на ее цвет. а также цвет верхнего и левого соседей. (Их может не быть, если клетка с краю).
мучаюсь уже долго.
Хелп...
Альтаир.. по старой дружбе_) хелп, великий фотограф)
answer := 0;
for i := 1 to m do
for j := 1 to n do
if a[i][j] = black then
if (i = 1) or (a[i - 1][j] = white) then
if (j = 1) or (a[i][j - 1] = white) then
answer := answer + 1;