Pagini recente » Cod sursa (job #351379) | Cod sursa (job #1808534) | Cod sursa (job #289939) | Cod sursa (job #1400344) | Cod sursa (job #26843)
Cod sursa(job #26843)
const maxn=10000;
type pe=^te;
te=record
ert:integer;
kov:pe;
end;
sor=array[0..maxn] of pe;
var X,y:sor;
t:text;
N,M,W,H:longint;
I,j,k,xp,yp:longint;
HANY:longint;
procedure bef(bal,jobb,NNN:longint; var W:sor);
var e:longint;
p:pe;
begin
for e:=bal to jobb do begin
new(p);
p^.ert:=NNN;
p^.kov:=w[e];
w[e]:=p;
end;
end;
function benne:boolean;
var p1,p2:pe;
d:integer;
begin
d:=0;
p1:=x[xp];
p2:=y[yp];
while (p1^.ert<>p2^.ert) and ((p1^.kov<>nil))
do
begin
p2:=y[yp];
while (p1^.ert<>p2^.ert) and (p2^.kov<>nil) do
begin
p2:=p2^.kov;
writeln(p1^.ert,' ',p2^.ert);
end;
if p1^.ert<>p2^.ert then p1:=p1^.kov;
end;
if p1^.ert=p2^.ert then begin
if p1^.kov<>nil then benne:=true
else benne:=false;
end
else benne:=false;
end;
begin
assign(t,'ograzi.in');
reset(T);
read(t,N,M,W,H);
for i:=0 to maxn do new(x[i]);
for i:=0 to maxn do new(y[i]);
for i:=0 to maxn do x[i]^.kov:=nil;
for i:=0 to maxn do y[i]^.kov:=nil;
for i:=0 to maxn do x[i]^.ert:=0;
for i:=0 to maxn do y[i]^.ert:=0;
for i:=1 to n do begin
read(t,xp);
read(t,yp);
bef(xp,xp+w,i,x);
bef(yp,yp+H,i,y);
end;
hany:=0;
for i:=1 to m do begin
read(t,xp,yp);
if benne then inc(hany);
end;
close(T);
assign(t,'ograzi.out');
rewrite(T);
writeln(t,hany);
close(T);
end.