Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Помагите   Найти похожие ветки 

 
nika_ufc ©   (2002-10-06 14:23) [0]

задача такая: дана матрица, заполнена ноликами и единицами. моя программа должна найти и напечатать сколько прямоугольников в матрицею пример
10000
10011
00011
00000
11100
ответ: прямоугольников=3
такой вариант не обсуждается:
1 1000
10011
00011
00000
11100


 
nika_ufc ©   (2002-10-06 14:27) [1]

И ешо
прямоугольники не должни пересекать друг-друга.


 
Arcus   (2002-10-07 18:02) [2]

Т.е. размер минимального прямоугольника 2х2?
Берем элемент (i, j). Сканируем i-ю строку начиная с j-ого столбца. Пусть насчитали к одинаковых элементов. Берем i + 1 строку, сканируем до j + k элемента или до первого отличного элемента (что вперед наступит) и т.д. до i + m строки. Получаем прямоугольник (i, j) - (i + m, j + k). Проверяем, что это прямоугольник.
Чтоб не пересекались, заводишь булевскую матрицу по размеру исходной. Сначала все элементы false. Находишь прямоугольник - перекидываешь соответствующие элементы в true. Сканирование начинаешь с проверки соответствующего элемента булевской матрицы - если он true, то все, дальше можно не ходить.



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
7-56372
Juve
2002-08-09 23:19
2002.10.17
Глючит 2000!


14-56333
Fog
2002-09-16 18:09
2002.10.17
Приколы про программистов и программы...


1-56212
Andy BitOff
2002-10-07 20:31
2002.10.17
Клавиатура


4-56419
iptower
2002-08-30 12:47
2002.10.17
Параметры коммандной строки чужего процесса


7-56364
zx
2002-08-09 12:34
2002.10.17
ver. MDAC?