По договоренности
- Есть фигуры, расположенные в хаотичном порядке (на рисунке во вложении);
- Есть точка красная;
- От этой точки надо найти минимальный путь до каждой фигуры;
- Путь должен состоять только из вертикальных или горизонтальных линий, угол либо 0 либо 90;
- В оценку пути надо включить количество поворотов при каждом повороте стоимость пути увеличивается на 5%, например, фигура 3: фиолетовым показан плохой путь, красным правильный. Чем меньше поворотов, тем лучше;
- Параллельные пути для разных фигур не должны сливаться в одну линию, то есть расстояние между параллельными путями минимум 3 пикселя, при этом пути не должны пересекать ни одну из фигур;
- Это все нужно в виде черного ящика, на входе: а) массив, содержащий координаты линий всех фигур подряд; б) массив, содержащий количество линий в каждой фигуре. На выходе: а) массив с координатами линий, из которых состоят все пути; б) массив, содержащий количество линий (элементов массива подряд) пути для каждой фигуры.
Язык не важен. Все массивы можно сохранять в файлы.