Z
Z
ZelibobA17062016-06-09 12:59:24
Programming
ZelibobA1706, 2016-06-09 12:59:24

What algorithm should be used to solve the Robinson problem?

Итак, есть задача: где-то в океане есть острова, с заданными координатами x1, y1, x2, y2. Нужно найти минимальную длину доски для путешествия на любой остров. Острова располагаются только вдоль осей координат. Столкнулся с проблемой нахождения кратчайшего расстояния от одного острова до другого. Т.е. я представляю, что нужно построить граф и потом найти просто самое длинное ребро, но не пойму как получить длину ребра.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
andray15, 2016-06-21
@andray15

Тут должен помочь метод координат. Сначала надо найти расстояния между углами, а потом сравнить их с расстояниями между краями "островов". Потом надо найти расстояние между двумя параллельными прямыми - границами островов. Эти границы будут заданы (X0;Y0) и (X1;Y1) - противоположные углы прямоугольника, потом находим 2 других угла - (X1;X0) и (Y0;Y1). Так же получаем координаты второго острова, потом ищем такие границы островов, чтобы их можно было соединить отрезком, который будет перпендикуляром для этих границ, и найти длину этого перпендикуляра.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question