среда, 7 августа 2013 г.

13. Паук и муха

prb13
Рисунок Климчук Даши, 9 класс, 20.10.2010
   В пустой прямоугольной комнате размерами АхВхС (длина, ширина, высота) на пол упала уснувшая муха. Паук, находившийся на одной из стен, или на полу комнаты, начал двигаться к ней по кратчайшему пути.
   На какое расстояние он при этом переместится?
Код решения:
*****
var a, b, c, x1, y1, x2, y2, z2:longint;
   r, r1, r2, r3, r4, min:real;
function min2(x, y:real):real;
begin
    if x<y then min2:=x
           else min2:=y;
end;
function s(xa, ya, xb, yb:longint):real;
begin
    s:=sqrt(sqr(xa-xb)+sqr(ya-yb));
end;
procedure out;
begin
    writeln (r:0:2);
    halt;
end;
begin
    readln (a, b, c);
    readln (x1, y1, x2, y2, z2);
    if z2=0 then begin r:=s(x1, y1, x2, y2); out; end;
    if x2=0 then begin if y2=b then if x1+y1<b then begin r:=s(x1, y1, -z2, y2); out;end;
                      r:=s(x1, y1, -z2, y2); out;
                 end;
    if x2=a then begin r:=s(x1, y1, a+z2, y2); out; end;
    if x2=b then begin r:=s(x1, y1, b+z2, y2); out; end;
    if y2=0 then begin r:=s(x1, y1, x2, -z2); out; end;
    if (y2=b) and (x2<>0) then begin r:=s(x1, y1, x2, b+z2); out; end;
    if y2=a then begin r:=s(x1, y1, x2, a+z2); out; end;
end.

*****

Комментариев нет:

Отправить комментарий