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