Pagini recente » Cod sursa (job #2868875) | Cod sursa (job #2216308) | Cod sursa (job #1200751) | Cod sursa (job #98755) | Cod sursa (job #197720)
Cod sursa(job #197720)
var a,b:array[1..99500000] of boolean;
ok:boolean;
i,n,m,x,x1,x2,y,y1,y2,c,nr:longint;
f,g:text;
begin
assign(f,'gropi.in');reset(f);
assign(g,'gropi.out');rewrite(g);
read(f,c,n);
for i:=1 to n do begin
read(f,x,y);
if x=1 then a[y]:=true
else b[y]:=true;
end;
read(f,m);
for i:=1 to m do begin
read(f,x1,y1,x2,y2);
nr:=1;
x:=x1;
y:=y1;
ok:=false;
while not ok do begin
if y1<y2 then begin
if x=1 then
if a[y+1]=true then begin
inc(x);
inc(nr);
end
else begin
inc(y);
inc(nr);
end;
if x=2 then
if b[y+1]=true then begin
dec(x);
inc(nr);
end
else begin
inc(y);
inc(nr);
end;
end;
if y2<y1 then begin
if x=1 then
if a[y-1]=true then begin
inc(x);
inc(nr);
end
else begin
dec(y);
inc(nr);
end;
if x=2 then
if b[y-1]=true then begin
dec(x);
inc(nr);
end
else begin
dec(y);
inc(nr);
end;
end;
if y=y2 then
if x<>x2 then begin
inc(nr);
break;
end
else break;
end;
writeln(g,nr);
end;
close(f);
close(g);
end.