У меня проблема в голове, я думаю, что это проблема NPC, но я не знаю, как это доказать.
Вот проблема:
В очень большом озере k островов и n понтонов в форме вееров. Эти понтоны имеют одинаковый размер, но имеют разные начальные направления и находятся в разных первоначальных положениях в озере. Понтоны могут свободно вращаться вокруг своего центра масс без каких-либо затрат, связанных с вращением.
Теперь нам нужно переместить эти понтоны, чтобы все острова в озере могли быть соединены. Мы можем гарантировать, что количество понтонов достаточно, чтобы соединить все острова.
[Примечание]: мы не можем повторно использовать понтоны !!
Задача состоит в том, чтобы найти решение, имеющее минимальное суммарное расстояние движущихся понтонов, чтобы соединить все острова. Расстояние перемещения одного понтона можно рассчитать как расстояние между исходным положением центра масс и его развернутым положением.
Чтобы было понятно, я нарисовал такую фигуру. Предположим, у нас есть 3 острова A, B и C. Они расположены где-то в озере. И у меня есть несколько веерообразных пантонов. Теперь решение состоит в том, чтобы найти минимальное суммирование расстояния перемещения для соединения A, B и C, показанное в нижней части рисунка. Надеюсь, это поможет понять проблему. :)
Кажется, проблема в NPC, но я не знаю, чтобы доказать это. Может ли кто-нибудь помочь мне в этом?