Главная » Статьи » Задачи с acm.timus.ru » Пакет решений на 15.03.08 |
1020
Var N,I,J,S: LongInt; R,L: Real; X,Y,Ang: Array[0..101] of Real; Procedure ReChang(var A,B: Real); Var V: Real; Begin V:=A; A:=B; B:=V; End; Begin Readln(N,R); L:=2*Pi*R; S:=1; For I:=1 to n do begin Readln(X[I],Y[I]); If (I<>1) and (X[I]<X[S]) then S:=I; End; X[0]:=X[S]; Y[0]:=Y[S]; ReChang(X[S],X[N]); ReChang(Y[S],Y[N]); ReChang(Ang[S],Ang[N]); For I:=1 to n do If X[I]-X[N]<>0 then Ang[I]:=(Y[I]-Y[N])/(X[I]-X[N]) else if Y[I]<Y[N] then Ang[I]:=-65000 else Ang[I]:=+65000; For I:=1 to N do For J:=2 to N do If Ang[J-1]>Ang[J] then begin ReChang(Ang[J-1],Ang[J]); ReChang(X[J-1],X[J]); ReChang(Y[J-1],Y[J]); End; For I:=1 to N do L:=L+Sqrt(Sqr(X[I]-X[I-1])+Sqr(Y[I]-Y[I-1])); Writeln(L:0:2); End. | |
Категория: Пакет решений на 15.03.08 | Добавил: solver (15.03.2008) | |
Просмотров: 927 |