Может ли кто-нибудь помочь мне в том, как рисовать прямоугольники для пространства в области ограничивающей рамки с n прямоугольными препятствиями? Может быть любое количество прямоугольных препятствий, параллельных оси, это не уникальный случай, поэтому необходимо учитывать различные угловые случаи. Лучше ли использовать алгоритм максимальной горизонтальной полосы? И как?
Описание проблемы:
1. SUB1 и SUB2 являются препятствиями и вы не будете трогать внутреннюю часть SUB1 и SUB2, вам нужно найти все свободные области снаружи от всех SUB и составить из них прямоугольники.
2. Вам нужно будет найти все возможные прямоугольники на свободных прямоугольниках областей соответственно с его прокруткой слева направо, не пересекая SUB;
Общее количество максимальных горизонтальных прямоугольников пространства в этом случае должно быть 7 или вообще 3n+2 (где n — количество препятствий): http://img25.imageshack.us/img25/452/pic1gts.png
замещающий текст http://img22.imageshack.us/img22/3417/pic2h.png< /а>
замещающий текст http://img16.imageshack.us/img16/5818/pic3h.png< /а>
замещающий текст http://img13.imageshack.us/img13/2151/pic4.png< /а>
Щелкните для просмотра изображений: http://img25.imageshack.us/img25/452/pic1gts.png http://img22.imageshack.us/img22/3417/pic2h.png http://img16.imageshack.us/img16/5818/pic3h.png http://img13.imageshack.us/img13/2151/pic4.png