> -- Владимир Лось писал(а):
> Ну, тогда, допустимость сразу находится. Сначал, методом "грубой силы" - находим Н*(Н+1)/2 вариантов (допустимых по условиям задачи) расстояний между узлами решётки. Если хотим - сортируем для ускорения будущего поиска. Потом, пройдясь по всем числам ломанной - смотрим, есть ли такие, которые не равны ни одному из отсортированных расстояний...Ну, а дальше - поиск в глубину по допустимым положениям концов векторов на узлах решётки, для каждого из начал. При этом, следующее начало - будет предыдущим концом. Для первого начала - прямой перебор по допустимым начальным положениям, в зависимости от расстояния до первого конца, попадающего на узел.

Я делал тогда тупее но похоже. Без начального отсеивания заведомо неверных вариантов, "ставил" конец первого звена в угловом узле решетки. И поворачивал на 360 пока не войдет в границы листа, затем условие совпадения с конца с любым узлом. Если условия выполнены то ставил на найденный узел след звено и все сначала. При этом надо было по изуверски следить за суммой образованных векторов