Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
3-55979
ec
2002-09-23 15:19
2002.10.17
Как убрать окошко с паролем в Table ?


1-56137
Viktor1
2002-10-09 12:41
2002.10.17
Прозрачное окно!!!


14-56289
Anatoly Podgoretsky
2002-09-22 11:24
2002.10.17
Что нового в Delphi for .NET


7-56361
SanyaLaz
2002-08-09 10:09
2002.10.17
подскажите алгоритм или компоненту для построения графиков


14-56323
RV
2002-09-25 04:16
2002.10.17
Вот в Москве 15 часов, а на Камчатке полночь. Сейчас в Москве




   Наверх