
Рисунок Климчук Даши, 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.
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.
*****
Комментариев нет:
Отправить комментарий