Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Муравей и дерево

Time limit:2 sec.
Memory limit: 65536 KByte

Муравей находится в лесу с плоской поверхностью почвы в точке с координатами (x1, y1), и направляется в точку (x2, y2). В лесу растёт дерево, основание ствола которого имеет форму круга с центром в точке (xT, yT) и радиусом RT. Дерево, возможно, помешает муравью дойти до цели по прямой. В таком случае ему придётся обойти дерево вокруг ствола. Требуется определить длину кратчайшего пути для муравья.

Ограничения: Все числа во входном файле находятся в диапазоне от 0 до 1000. (x1 - xT)2 + (y1 - yT)2 >= RT2, (x2 - xT)2 + (y2 - yT)2 >= RT2

Исходные данные

Входной файл содержит вещественные числа x1 y1 x2 y2 xT yT RT.

Результат

Выходной файл должен содержать единственное вещественное число -- длину кратчайшего пути. Абсолютная ошибка результата не должна превосходить 0.01 (т.е. следует выводить число с точностью не менее 3 знаков после запятой).

Пример

Исходные данныеРезультат
0 0 4 4 2 2 16.014
© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.