Pagini recente » Cod sursa (job #879117) | Cod sursa (job #2021195) | Cod sursa (job #1602802) | Cod sursa (job #1382960) | Cod sursa (job #40533)
Cod sursa(job #40533)
program regiuni;
type coord=record x,y:integer end;
var d:array[1..1000] of record a,b,c:integer end;
a:array[1..1000] of coord;
m,n,nr,i:integer;
f:text;
function sgn(i,l:integer):integer;
begin
sgn:=d[l].a*a[i].x+d[i].b*a[i].y+d[i].c;
end;
procedure sort(st,dr,l:integer);
var k,i,j:integer;
aux:coord;
begin
i:=st;
j:=dr;
repeat
if sgn(i,l)>0 then inc(i)
else begin
aux:=a[i];
a[i]:=a[j];
a[j]:=aux;
j:=j-1;
end;
until j-i=1;
if sgn(i,l)<0 then dec(i);
if i>=1 then inc(nr);
if l<n then begin
if i-st>=1 then sort(st,i,l+1);
if dr-i>1 then sort(i+1,dr,l+1);
end;
end;
begin
assign(f,'regiuni.in'); reset(f);
readln(f,n,m); {n linii m puncte}
for i:=1 to n do readln(f,d[i].a,d[i].b,d[i].c);
for i:=1 to m do readln(f,a[i].x,a[i].y);
nr:=0;
sort(1,m,1);
assign(f,'regiuni.out'); rewrite(f);
writeln(f,nr);
close(f);
end.