Pagini recente » Cod sursa (job #2949446) | Cod sursa (job #836269) | Cod sursa (job #1830317) | Cod sursa (job #1262255) | Cod sursa (job #48356)
Cod sursa(job #48356)
type puncte=record
x,y:integer;
end;
deter=record
a,b,c:integer;
end;
vector=array[1..1000] of 1..1000;
inte=1..1000;
var f,g:text;
d:array[1..1000] of deter;
p:array[1..1000] of puncte;
v,v1,v2:vector;
lv,n,m,c,i,j,lv1,lv2:integer;
function pozitiv(pp:puncte; dd:deter):boolean;
begin
if dd.a*pp.x+dd.b*pp.y+dd.c>0 then pozitiv:=true
else pozitiv:=false;
end;
procedure drepte(i:integer; v:vector; lv:integer);
var lv1,lv2:integer;
v1,v2:vector;
begin
lv1:=0; lv2:=0;
for j:=1 to lv do
if pozitiv(p[v[j]],d[i]) then begin inc(lv1); v1[lv1]:=v[j]; end
else begin inc(lv2); v2[lv2]:=v[j]; end;
if i=n then
begin
if (lv1=0)or(lv2=0) then c:=c+1
else c:=c+2;
end
else begin
if lv1<>0 then drepte(i+1,v1,lv1);
if lv2<>0 then drepte(i+1,v2,lv2);
end;
end;
begin
assign(f,'regiuni.in');
reset(f);
readln(f,n,m);
for i:=1 to n do readln(f,d[i].a,d[i].b,d[i].c);
lv1:=0;
lv2:=0;
for i:=1 to m do
begin
readln(f,p[i].x,p[i].y);
if pozitiv(p[i],d[1]) then begin inc(lv1); v1[lv1]:=i; end
else begin inc(lv2); v2[lv2]:=i; end;
end;
c:=0;
if lv1<>0 then drepte(2,v1,lv1);
if lv2<>0 then drepte(2,v2,lv2);
close(f);
assign(g,'regiuni.out');
rewrite(g);
writeln(g,c);
close(g);
end.