
05.11.2007, 17:13
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
Провел на форуме: 482261
Репутация:
58
|
|
MegaDeth, смотри алгоритм,ну который я могу предположить, но пока у меня пробелмы с реализацией:
1-Вычисляем максимальную длину прямоугольника.
1111111
1111111
0000000
0000000
2-Вычисляем максимальную ширину прямоугольника.
1100000
1100000
1100000
1100000
3-Создаем двумерный массив[длина][ширина], все элеменеты в массиве имеют значение 0.
по идеи у нас должно получиться что-то типа вот этого:
0000000
0000000
0000000
0000000
4-Далее заполняем/складываем по очереди все прямоугольнки с нашим нулевым массивом.
и унас получится что-то типа вот этого:
1111111
1111111
1100000
1100000
5-Дальше смотрим сколько у нас значений TRUE(1). через элелентарный цикл.
Ну походу это то что ты хотел получить, полагаю что это не совсем рационально,но елси данный цикл процедура выполняется не слишком часто и нет ограничения по памяти то оптимальный вариант.
|
|
|