Cod sursa(job #27004)

Utilizator fogabFodor Gabor fogab Data 5 martie 2007 23:30:20
Problema Ograzi Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.02 kb
var f:text;
    b:array[1..500,1..500] of word;
    a:array[1..2,0..50000] of longint;
    n,m,w,h,i,sol,x,y,x2,y2:longint;
begin
sol:=0;
assign(f,'ograzi.in');
reset(f);
readln(f,n,m,w,h);
for i:=1 to n do
  begin
  readln(f,a[1,i],a[2,i]);
  b[a[1,i] div w+1,a[2,i] div h+1] := i;
  end;
a[1,0]:=-2147483648;
a[2,0]:=-2147483648;
for i:=1 to m do
  begin
    readln(f,x,y);
    x2:=(x div w)+1;
    y2:=(y div h)+1;
    if (a[1,b[x2,y2]]<=x) and (a[1,b[x2,y2]]+w>=x)
    and (a[2,b[x2,y2]]<=y) and (a[2,b[x2,y2]]+h>=y) then inc(sol);
    if (a[1,b[x2-1,y2]]<=x) and (a[1,b[x2-1,y2]]+w>=x)
    and (a[2,b[x2-1,y2]]<=y) and (a[2,b[x2-1,y2]]+h>=y) then inc(sol);
    if (a[1,b[x2-1,y2-1]]<=x) and (a[1,b[x2-1,y2-1]]+w>=x)
    and (a[2,b[x2-1,y2-1]]<=y) and (a[2,b[x2-1,y2-1]]+h>=y) then inc(sol);
    if (a[1,b[x2,y2-1]]<=x) and (a[1,b[x2,y2-1]]+w>=x)
    and (a[2,b[x2,y2-1]]<=y) and (a[2,b[x2,y2-1]]+h>=y) then inc(sol);
  end;
close(f);
assign(f,'ograzi.out');
rewrite(f);
writeln(f,sol);
close(f);
end.