Можно предложить следующий метод, но он, видимо, громоздкий очень + утверждает лишь необходимость + требует большого перебора
(метод)
Данный многоугольник опишем как замкнутую цепь
. Не для всякой цепи есть многоугольник (это плохо). Для разрезания цепи на 2 части выделим в ней 2 точки. Точки могут совпадать с вершинами или нет -
варианта. Если точка лежит на ребре длиной
, то
- разбивается + задается 2 новых угла разбиения
. Если точка совпадает с вершиной с углом
, то разбивается на 2 части угол с
, а вот длину новой стороны придется считать заново. Выбирая 2 точки, сможем разрезать замкнутую цепь на 2 замкнутые цепи:
. Обратная операция - склеивание цепей по одинаковым сегментам + ограничения на конечные части одинакового сегмента.
Вот так в общем случае исходную цепь надо разрезать на 3 цепи (или сколько захотите), а потом попытаться их склеить. Полученные комбинации следует проверить на достаточность, если же ни одна не подходит или таких нет, то и решений нет.
Такие задачи видел только у М.Гарднера в книге "Математические головоломки и развлечения"