![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.02.2010
Сообщений: 4
|
![]()
Доброго времени суток!
Я уже давно не студент. Просто не нашел раздела для алгоритмов. Есть матрица из 0 и 1. 0 - свободная точка. 1 - занятая точка. Нужно найти все возможные прямоугольники. Прямоугольники должны покрывать всю пустую область (она образована нулями) и могут пересекаться, но не должны быть друг в друге. Результат нужно записать в массив записей: X,Y,W,H (строка, столбец, ширина, высота). Пример: 00000 00000 10100 10100 Результат: 0,0,5,2 1,0,1,4 3,0,2,4 В графическом виде ![]() Возможен ли параллельный алгоритм? Если нет, буду рад любому работающему алгоритму на любом языке программирования. Желательно С#. Последний раз редактировалось sancho123; 29.04.2012 в 22:30. Причина: ошибки |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Непонятно как условие, так и решение.
На мой взгляд условию "Прямоугольники должны покрывать всю пустую область" удовлетворяет один единственный прямоугольник - размером со всю область. Других прямоугольников, удовлетворяющих этому условию, нет. Непонятно в каком виде записано решение. Что означают эти цифры? |
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.02.2010
Сообщений: 4
|
![]()
Да. Немного поспешил. Исправил ошибки в первом сообщении.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
так что нужно получить на выходе?
Чем не устраивает вариант с единственным прямоугольником, покрывающим всю область? Среди прямоугольников, приведенных в решении, нет ни одного, который бы удовлетворял условию задачи. Как это понимать? Последний раз редактировалось s-andriano; 29.04.2012 в 22:36. |
![]() |
![]() |
![]() |
#5 | |
Регистрация: 20.02.2010
Сообщений: 4
|
![]() Цитата:
На рисунке их 3. Серым изобразил занятые области. Все остальное - свободная область. "Прямоугольники должны покрывать всю пустую область" Напишу иначе: Нужно покрыть свободную область прямоугольниками так, чтобы в ней не осталось свободных(незанятых) точек. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
#7 |
Регистрация: 20.02.2010
Сообщений: 4
|
![]()
"Нужно найти все возможные варианты покрытия?"
Да. Спасибо за помощь в формулировании условия ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Комбинаторика. Получение возможных вариантов. | Alex Cones | Общие вопросы Delphi | 3 | 16.01.2011 13:52 |
Интересная задача, реализация временных логик (любой логики), язык любой. | Flyym | Помощь студентам | 1 | 05.01.2011 03:10 |
Перебор всех возможных вариантов | phenix | Помощь студентам | 3 | 03.12.2010 21:29 |
Перебор всех возможных сумм элеметов массива | Sanakan | Помощь студентам | 3 | 29.03.2010 00:28 |