eolymp
bolt
Try our new interface for solving problems
Məsələlər

Робот

Робот

Вы участвуете в соревновании по программированию роботов. В следующем соревновании робот должен пройти через n точек на плоскости в определенном порядке. Путь робота должен также удовлетворять следующим условиям:

  • Каждая часть пути между двумя точками должна быть либо прямой, либо дугой.
  • Весь путь должен представлять собой гладкую кривую. Это означает, что направления касательных соседних участков пути в общей точке должны совпадать.

Для победы Вам следует найти требуемый путь робота наименьшей длины.

Входные данные

Первая строка содержит количество точек n (2n1000). Каждая из следующих n строк содержит два целых числа xi и yi, не превосходящих по модулю 106: координаты i-ой точки. Робот должен пройти точки в таком же порядке, в каком они поступают на вход. Каждые две соседние точки различны. Однако не гарантируется, что все входные точки будут различными.

Выходные данные

Вывести одно действительное число: длину кратчайшего пути. Относительная или абсолютная ошибка не должна превосходить 10-6.

Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
2
0 0
3 4
Çıxış verilənləri #1
5.0000000000
Giriş verilənləri #2
5
1 0
0 1
-1 0
0 -1
1 0
Çıxış verilənləri #2
6.2831853072
Mənbə 2013 Петрозаводск, MIPT contest, Август 25, Задача B