@ZelibobA1706

Какой алгоритм применить для решения задачи о робинзоне?

Итак, есть задача: где-то в океане есть острова, с заданными координатами x1, y1, x2, y2. Нужно найти минимальную длину доски для путешествия на любой остров. Острова располагаются только вдоль осей координат. Столкнулся с проблемой нахождения кратчайшего расстояния от одного острова до другого. Т.е. я представляю, что нужно построить граф и потом найти просто самое длинное ребро, но не пойму как получить длину ребра.
  • Вопрос задан
  • 383 просмотра
Пригласить эксперта
Ответы на вопрос 1
@andray15
Тут должен помочь метод координат. Сначала надо найти расстояния между углами, а потом сравнить их с расстояниями между краями "островов". Потом надо найти расстояние между двумя параллельными прямыми - границами островов. Эти границы будут заданы (X0;Y0) и (X1;Y1) - противоположные углы прямоугольника, потом находим 2 других угла - (X1;X0) и (Y0;Y1). Так же получаем координаты второго острова, потом ищем такие границы островов, чтобы их можно было соединить отрезком, который будет перпендикуляром для этих границ, и найти длину этого перпендикуляра.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы