Cod sursa(job #37558)

Utilizator andradaqAndrada Georgescu andradaq Data 25 martie 2007 10:58:44
Problema Regiuni Scor 80
Compilator fpc Status done
Runda preONI 2007, Runda 4, Clasa a 10-a Marime 0.86 kb
var f:text;
    x,y,a,b,c:array[1..1000] of integer;
    sj:array[1..1000,1..1000] of integer;
    ex:array[1..1000] of boolean;
    n,m,i,j,zn:integer;


function semn(x,y,a,b,c:integer):byte;
begin
if x*a+y*b+c<0 then semn:=0 else semn:=1;
end;

function egal(i,j:integer):boolean;
var k:integer;
begin
egal:=false;
for k:=1 to n do if sj[i,k]<>sj[j,k] then exit;
egal:=true;
end;

begin
assign(f,'regiuni.in'); reset(f);
readln(f,n,m);
for i:=1 to n do readln(f,a[i],b[i],c[i]);
for i:=1 to m do readln(f,x[i],y[i]);
close(f);
for i:=1 to m do
 for j:=1 to n do
  sj[i,j]:=semn(x[i],y[i],a[j],b[j],c[j]);
assign(f,'regiuni.out'); rewrite(f);
zn:=0;
fillchar(ex,sizeof(ex),0);
for i:=1 to m do
 if not ex[i] then
  begin
  inc(zn);
  ex[i]:=true;
  for j:=i+1 to m do
   if egal(i,j) then ex[j]:=true;
  end;
writeln(f,zn);
close(f);
 end.