Pagini recente » Cod sursa (job #1837397) | Cod sursa (job #804779) | Diferente pentru utilizator/anna_bozianu intre reviziile 12 si 13 | Cod sursa (job #2000749) | Cod sursa (job #1181245)
Program ograzi;
const prim=100;
type list=^cell;
cell=record
infox:longint;
infoy:longint;
pred:list;
end;
var n,m,w,h,i,j,a,b,k : longint;
lhash : array[0..101] of list;
r : list;
b1,b2 : array [0..1 shl 10] of char;
procedure add(nr,nr2 : longint;var v : list);
var r :list;
begin
new(r);
r^.infox:=nr2;
r^.infoy:=nr;
r^.pred:=v;
v:=r;
end;
begin
assign(input,'ograzi.in'); settextbuf(input,b1); reset(input);
assign(output,'ograzi.out'); settextbuf(output,b2); rewrite(output);
readln(n,m,w,h);
for i:=1 to n do begin
readln(a,b);
for j:=a to a+w do
for k:=b to b+h do
add(k,j,lhash[j mod prim]);
end;
k:=0;
for i:=1 to m do begin
readln(a,b);
r:=lhash[a mod prim];
while r<>nil do begin
if (r^.infox=a) and (r^.infoy=b) then k:=k+1;
r:=r^.pred;
end;
end;
writeln(k);
close(input);
close(output) ;
end.