Задача сводится к нахождению минимального количества отрезков, из которых состоит паутина. В данной конструкции проволока сгибается, но не разрезается. Все соединения (спайки) являются вершинами.
На рисунке изображена паутина, состоящая из:
Поскольку проволока только сгибается, а не разрезается, нам нужно посчитать, сколько цельных кусков проволоки использовано для создания всей фигуры.
Рассмотрим рисунок: мы видим 5 радиальных линий, которые сходятся в центре. Эти 5 линий, скорее всего, являются одним цельным куском проволоки, который был согнут и концы выведены наружу. Или же это 5 отдельных кусков, соединенных в центре. Однако, чтобы минимизировать количество проволоки, выгоднее использовать один длинный кусок, который затем формируется в звезду.
Затем, для создания 'слоев' паутины, используются дополнительные отрезки. Каждый слой, соединяющий 5 радиальных лучей, представляет собой пятиугольник. На рисунке видно 4 таких 'слоя' (не считая самого центра).
Если мы считаем, что каждый радиальный луч — это отдельный кусок, то нам понадобится 5 кусков для радиальных элементов. Затем, чтобы соединить эти 5 лучей в 4 уровнях, нам потребуется 5 * 4 = 20 дополнительных кусков (по одному отрезку на каждом уровне, соединяющему два соседних радиуса). Итого: 5 + 20 = 25 кусков.
Однако, если мы хотим использовать наименьшее количество проволоки, то логичнее предположить, что каждый 'слой' паутины (пятиугольник) формируется из одного куска проволоки, который изгибается и спаивается в вершинах.
Давайте пересмотрим. Каждая спайка (точка соединения) — это вершина. Общее количество вершин на рисунке:
Если мы считаем, что каждый кусок проволоки — это путь между двумя точками спайки (или от точки до конца), то задача становится сложнее.
Рассмотрим рисунок как граф. Вершины — точки спайки. Ребра — отрезки проволоки.
Самый простой способ получить минимальное количество кусков — это минимизировать количество вершин, где требуется спайка. Если проволока только сгибается, то количество 'кусков' может быть равно количеству линий, которые нужно провести, чтобы получить фигуру, минимизируя количество стартовых точек.
Посмотрим на структуру: 5 лучей расходятся из центра. Если предположить, что один кусок проволоки используется для создания всех 5 лучей (путем сгибания и спайки в центре), то это 1 кусок. Затем, каждый следующий слой паутины (пятиугольник) может быть сформирован из одного куска проволоки, который изгибается и спаивается в 5 точках.
На рисунке 5 радиальных линий. Представим, что мы берем один длинный кусок проволоки, складываем его в 5 раз (или находим центр и разводим концы) и спаиваем в центре. Это 1 кусок.
Далее, у нас есть 4 уровня 'колец'. Каждое кольцо соединяет 5 радиальных линий. Если каждое такое кольцо сделать из одного куска, который изгибается и спаивается в 5 точках, то на 4 кольца нам понадобится 4 куска.
Итого: 1 (центральная звезда) + 4 (кольца) = 5 кусков проволоки.
Проверим: если у нас 5 кусков, то:
Это кажется самым оптимальным решением, так как позволяет минимизировать количество точек спайки и, соответственно, количество проволоки (если считать, что спайка добавляет потери).
«Проволоку можно гнуть под любым углом и спаивать в точках соединения». Это означает, что один длинный кусок проволоки может быть сформирован в сложную фигуру, если все соединения являются спайками, а не разрезами.
Наименьшее количество кусков = количество независимых контуров или разветвлений, которые нельзя объединить в один непрерывный путь без разрезания.
В данном случае, мы можем рассматривать: