Главная страница
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.015 c
1-56137
Viktor1
2002-10-09 12:41
2002.10.17
Прозрачное окно!!!


4-56423
mastervigo
2002-09-02 20:53
2002.10.17
Автоподбор ширины в ячейках Excel


1-56168
Брат
2002-10-07 12:53
2002.10.17
Минимизация окна


1-56200
cfk
2002-10-07 14:04
2002.10.17
Передача переменных из DLL и обратно


7-56377
Aga
2002-08-06 08:31
2002.10.17
Win