Cod sursa(job #197598)
Utilizator | Data | 5 iulie 2008 11:39:20 | |
---|---|---|---|
Problema | Gropi | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Junior Challenge 2008 | Marime | 1.54 kb |
program p3;
var f,g:text;
a:array[1..10,1..5000] of byte;
i,j,x,y,x1,y1,x2,y2,n,m:integer;
s,c:longint;
begin
assign(f,'gropi.in');reset(f);
assign(g,'gropi.out');rewrite(g);
read(f,c,n);
for i:=1 to 2 do
for j:=1 to c do
a[i,j]:=1;
for i:=1 to n do
begin
read(f,x,y);
a[x,y]:=0;
end;
read(f,m);
for i:=1 to m do
begin
read(f,x1,y1,x2,y2);
s:=1;
while (x1<>x2) or (y1<>y2) do
begin
if y2=y1 then begin x1:=x2;
s:=s+1;
end
else if a[x1,y1+1]=0 then begin
if x1=1 then x1:=x1+1
else x1:=x1-1;
s:=s+1;
end
else begin
s:=s+1;
if y1<y2 then y1:=y1+1
else y1:=y1-1;
end;
end;
writeln(g,s);
end;
close(f);
close(g);
end.