eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Мураха та дерево

Мураха та дерево

\includegraphics{https://static.e-olymp.com/content/ee/ee0a7da2460a20a0ba73df78ae0bc2e954d99cd1.jpg} Мураха знаходиться у лісі з плоскою поверхнею грунту у точці з координатами (\textbf{x_1}, \textbf{y_1}) і прямує до точки (\textbf{x_2}, \textbf{y_2}). У лісі росте дерево, основа стовбура якого має форму круга з центром у точці (\textbf{x}, \textbf{y}) та радіусом \textbf{r}. Дерево, можливо, перешкодить мурасі дійти до цілі по прямій. У такому випадку їй прийдеться обійти дерево навколо стовбура. Напишіть програму, яка визначає довжину найкоротшого шляху мурахи. \InputFile Містить дійсні числа \textbf{x_1}, \textbf{y_1}, \textbf{x_2}, \textbf{y_2}, \textbf{x}, \textbf{y}, \textbf{r}. Числа записано через пропуск і знаходяться у діапазоні від \textbf{0 }до \textbf{1000}, \textbf{r }> \textbf{0}. Початкова та кінцева точки шляху мурахи не можуть знаходитись всередині кругу. \OutputFile Вивести єдине дійсне число -- довжину найкоротшого шляху. Абсолютна похибка результату не повинна перевищувати \textbf{0.01} (тобто потрібно виводити число з точністю не менше \textbf{3} знаків після коми).
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
0 0 4 4 2 2 1
Вихідні дані #1
6.014
Джерело II етап Всеукраїнсьої олімпіади школярів 2012-2013, м. Бердичів