Pagini recente » Cod sursa (job #920148) | Cod sursa (job #2624262) | Cod sursa (job #592815) | Cod sursa (job #479315) | Cod sursa (job #37818)
Cod sursa(job #37818)
program regiuni;
type point=^nod;
nod=record
s,d:point;
end;
rec1=record
a,c,b:longint;
end;
rec2=record
x,y:longint;
end;
var f,g:text;
b,p,p1:point;
i,par,j,n,m,nr:longint;
ok:boolean;
d:array[0..1005] of rec1;
pct:array[0..1005] of rec2;
function parte(a1,b1,c1,x1,y1:longint):longint;
begin
parte:=a1*x1+b1*y1+c1;
end;
begin
assign(f,'regiuni.in'); reset(f);
assign(g,'regiuni.out'); rewrite(g);
readln(f,n,m);
for i:=1 to n do read(f,d[i].a,d[i].b,d[i].c);
for i:=1 to m do read(f,pct[i].x,pct[i].y);
new(b); b^.s:=nil; b^.d:=nil;
p:=b; nr:=0;
for i:=1 to m do begin
p:=b; ok:=true;
for j:=1 to n do begin
par:=parte(d[j].a,d[j].b,d[j].c,pct[i].x,pct[i].y);
if par<0 then begin
if p^.s=nil then begin
new(p1); p1^.s:=nil; p1^.d:=nil;
p^.s:=p1; p:=p1;
ok:=false;
end
else p:=p^.s;
end
else begin
if p^.d=nil then begin
new(p1); p1^.s:=nil; p1^.d:=nil;
p^.d:=p1; p:=p1;
ok:=false;
end
else p:=p^.d;
end;
end;
if ok=false then inc(nr);
end;
writeln(g,nr);
close(f); close(g);
end.
if ok=false then inc(nr);
end;