Pagini recente » Cod sursa (job #2815347) | Cod sursa (job #1824134) | Cod sursa (job #2143649) | Cod sursa (job #918506) | Cod sursa (job #260153)
Cod sursa(job #260153)
type pelem=^elem;
elem=record
x,y:byte;
pas:integer;
prod:longint;
urm:pelem;
end;
const lin:array[1..4]of shortint=(1,-1,0,0);
col:array[1..4]of shortint=(0,0,1,-1);
var v:array[1..51,1..51]of boolean;
p,r,q:pelem;
f,g:text;
x1,y1,x2,y2,xnou,ynou,n,m:byte;
j,k,i,u:integer;
begin
assign(f,'kdrum.in');reset(f);
assign(g,'kdrum.out');rewrite(g);
readln(f,n,m,k);
read(f,x1,y1,x2,y2);
for i:=1 to n do begin
for j:=1 to m do begin
read(f,xnou);
if xnou=0 then v[i,j]:=true;
end;
readln(f);
end;
new(p);
p^.x:=x1;p^.y:=y1;p^.pas:=1;p^.urm:=nil;r:=p;
while v[x2,y2]=false do begin
for i:=1 to 4 do begin
xnou:=p^.x+lin[i];
ynou:=p^.y+col[i];
if (xnou in[1..n])and(ynou in[1..m])and(v[xnou,ynou]=false) then begin
new(q);q^.urm:=nil;
q^.x:=xnou;
q^.y:=ynou;
q^.pas:=p^.pas+1;u:=q^.pas;
r^.urm:=q;r:=r^.urm;
v[xnou,ynou]:=true;
end;end;
p:=p^.urm;
end;
write(g,u);
close(g);
end.