У меня была эта проблема в течение нескольких лет.Это было на конкурсе информатики в моем городе некоторое время назад.Я не смог решить это, и мой учитель не смог решить это.Я не встречал никого, кто мог бы решить это.Никто из тех, кого я знаю, не знает, как правильно дать ответ, поэтому я решил опубликовать его здесь:
Проблема Ze *
Учитывая прямоугольник X от Y, найдитеминимальное количество кругов N с фиксированным заданным радиусом R, необходимое для полного покрытия каждой части прямоугольника.
Я думал о способах ее решения, но у меня нет ничего определенного.Если каждый круг определяет внутренний прямоугольник, то R^2 = Wi^2 + Hi^2
, где Wi
и Hi
- это ширина и высота практической области, охватываемой каждым кругом i
.Сначала я подумал, что должен сделать Wi
равным Wj
для любого i
= j
, то же самое для H
.Таким образом, я мог бы упростить задачу, сделав соотношение ширины / высоты равным основному прямоугольнику (Wi/Hi
= X/Y
).Таким образом, N=X/Wi
.Но это решение, безусловно, неверно в случае, если X
значительно превышает Y
или наоборот.
Вторая идея состояла в том, что Wi
= Hi
для любого заданного i
.Таким образом, квадраты заполняют пространство наиболее эффективно.Однако, если остается очень узкая полоса, гораздо более оптимально использовать прямоугольники для ее заполнения или, что еще лучше, использовать прямоугольники для последней строки и до этого.
Тогда я понял, что ни одна из идей не является оптимальной, поскольку явсегда можно найти лучшие способы сделать это.Это всегда будет близко к финалу, но не к финалу.
Редактировать
В некоторых случаях (большой прямоугольник) объединение шестиугольников представляется лучшим решением, чем соединение квадратов.
Дальнейшее редактирование
Вот сравнение 2 методов: клевер против гексагональной.Гексагональный, очевидно, лучше для больших поверхностей.Однако я считаю, что когда прямоугольник достаточно мал, прямоугольный метод может быть более эффективным.Это догадка.Теперь на рисунке вы видите 14 кругов слева и 13 кругов справа.Хотя поверхность отличается намного больше (в два раза), чем один круг.Это потому, что слева они перекрываются меньше, тратя таким образом меньше поверхности.
Все еще остаются вопросы:
- Оптимален ли сам шаблон правильного шестиугольника?Или необходимо внести определенные корректировки в части основного прямоугольника.
- Есть ли причины не использовать правильные формы в качестве "окончательного решения"?
- Есть ли на этот вопрос ответ?:)