1. ЛАЗЕРНАЯ СИГНАЛИЗАЦИЯ 1 В процессе модернизации технического обеспечения и...

0 голосов
60 просмотров

1. ЛАЗЕРНАЯ СИГНАЛИЗАЦИЯ 1

В процессе модернизации технического обеспечения и применения новых информационных технологий для защиты от воров вокруг банка поставили лазерную сигнализацию, которая состоит из нескольких лазерных станций. Станции ставятся по периметру здания, и между соседними станциями проходит лазерный луч. Также каждые соседние станции соединены кабелем. Известны координаты всех станций в порядке их обхода «по» или «против» часовой стрелки. Вам, как отличнику учебы, поручили ответственное задание – посчитать суммарную длину кабеля, который соединяет станции.

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

В первой строке находятся целое N – число базовых станций (1<=N<=2*10^6).</p>

В следующих N строках – по два вещественных числа x, y (|x|<=10^4, |y|<=10^4), разделённых пробелом: координаты каждой станции (в прямоугольной декартовой системе координат).</p>

Результат

Необходимо вывести суммарную длину кабеля, который потребуется проложить, с точностью до двух знаков после точки.


Примеры входных и выходных данных:

Входные данные 5 -1 -1 -1 1 1 1 2 0 1 -1

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


Информатика (931 баллов) | 60 просмотров
Дан 1 ответ
0 голосов

var
n,i:integer;
x0,y0,x1,y1,x2,y2,s:real;
begin
readln(n);
s:=0;
readln(x0,y0);
x1:=x0;
y1:=y0;
for i:=2 to n do
begin
readln(x2,y2);
s:=s+sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
x1:=x2;
y1:=y2;
end;
x2:=x0;
y2:=y0;
s:=s+sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
writeln(s:10:2);
end.

(1.5k баллов)