Блог пользователя ioanisyan

Автор ioanisyan, 13 лет назад, По-русски

Дано 4 прямоугольникa , стороны которых параллельны. Прямоугольники можно перевернуть на 90'. Нужно найти прямоугольники, у которых площадь будет минимальным, в которых переместятся наши 4 прямоугольника.

Пример:

Input:

1 2 (стороны прямоугольников)

2 3

3 4

4 5

Output:

40 (площадь)

4 10 (стороны прямоугольников)

5 8

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
13 лет назад, # |
  Проголосовать: нравится -7 Проголосовать: не нравится

перебор?

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Да, тут обычный перебор решает задачу. Похожая задача, была в универе в курсе "Построение и анализ алгоритмов", только там было 7 прямоугольников. Ограничение было 20 секунд. Придумал 2 эвристики на эту задачу: 1. Первый прямоугольник можно перебирать любой из 4.(а не из 7) 2. Первый можно не поворачивать. Остальное решалось перебором. Хотя 7 прямоугольников на джаве за 20 секунд еле укладывались, я думаю 4 просто мгновенно пролетят.

»
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Перебирай все возможные варианты и выбери минимальный. Там в 6 лэйауте надо будет немного подумать. Короче учти все виды построения , которые возможны.