|
|
back to boardDiscussion of Problem 1020. Ropewrong answer, test1, pascal Что-то пошло не так, да? var radius,otvet:real; //радиус шляпок и ответ first_y:real; // "новый" у second_y:real;// "старый" у first_x:real; // "новый" х s_x:real;// "старый" х one_y:real; //самый первый у one_x:real; //самый первый х l:real; //длина одной черты numbers,a,b:integer; //кол-во гвоздей и две переменные для циклов begin read (numbers); //прочитал кол-во гвоздей read (radius); //прочитал радиус шляпок read(one_x); read(one_y); //прочитал значение х и у первой точки (сохранил в // отдельной переменной для конечной линии) read(first_x); read(first_y); //прочитали значение х и у второй точки b:=numbers-2; //для цикла l:=sqrt((one_x-first_x)*(one_x-first_x)+(one_y-first_y)*(one_y-first_y)); //вычислил длину первой линии otvet:=otvet+l; //и прибавил к ответу for a:=1 to b do begin s_x:=first_x; //перераспределение точек second_y:=first_y; read(first_x); //аналогично read(first_y); l:=sqrt((s_x-first_x)*(s_x-first_x)+(second_y-first_y)*(second_y-first_y)); otvet:=otvet+l; end; l:=sqrt((one_x-first_x)*(one_x-first_x)+(one_y-first_y)*(one_y-first_y)); otvet:=otvet+l; otvet:=round(100*otvet)/100; //округлил ответ до 0.01 l:=radius*2*3.14; //вычислил длину одной окружности otvet:=otvet+l; // и прибавил ее к ответу
writeln(otvet); //вывел ответ end. На первом же тесте неправильный ответ Помогите |
|
|