task2 - 0x100/java-lessons GitHub Wiki
На доске объялений размера A x B требуется разместить N объявлений размером Сn x Dn (все объявления могут быть разного размера). Объявления необходимо закрепить гвоздиками таким образом, чтобы каждое объявление удерживалось четырьмя гвоздями. Один гвоздик может прокалывать несколько оъявлений. Объявление при этом накладывается на другое на расстояние в 3 точки. Прокол делается на расстоянии в 2 точки от края листа.
Задача в том, чтобы закрепить объявления, затратив при этом минимально возможное количество гвоздиков. При написании программы необходимо использовать объектно-ориентированный подход.
Результатом являются количество необходимых гвоздей, и координаты объявлений и гвоздей, в следующем формате:
- необходимое количество гвоздей
- координаты объявлений в формате "left1, top1, right1, bottom1; left2, top2, right2, bottom2; left3..."
- координаты гвоздей в формате "x1, y1; x2, y2; x3, y3; ..."
left - расстояние от левой границы доски до левой границы объявления
top - расстояние от верхней границы доски до верхней границы объявления
right - расстояние от правой границы доски до правой границы объявления
bottom - расстояние от нижней границы доски до нижней границы объявления
A, B >= 100
N >= 5
Cn <= A / 5
Dn <= B / 5
Диаметр гвоздика - 1 точка.