Робот
Ви берете участь у змаганні з програмування роботів. У наступному етапі ваш робот має пройти через n точок на площині в заданому порядку. Шлях робота повинен відповідати наступним умовам:
Кожен сегмент шляху між двома точками має бути або прямою лінією, або дугою.
Весь шлях повинен бути гладкою кривою, тобто напрямки дотичних сусідніх сегментів у точках з'єднання мають збігатися.
Щоб перемогти, вам потрібно знайти найкоротший можливий шлях для робота.
Вхідні дані
Перший рядок містить кількість точок n (2 ≤ n ≤ 1000). Кожен з наступних n рядків містить два цілі числа x[i]
та y[i]
, що не перевищують за модулем 10^6
: координати i-ої точки. Робот повинен пройти через точки в тому ж порядку, в якому вони подані на вхід. Кожні дві сусідні точки різні. Проте не гарантується, що всі вхідні точки будуть різними.
Вихідні дані
Виведіть одне дійсне число: довжину найкоротшого шляху. Відносна або абсолютна похибка не повинна перевищувати 10^(-6)
.