Cod sursa(job #41416)

Utilizator AymdTrimbitas Viorel Stefan Aymd Data 28 martie 2007 11:41:23
Problema Regiuni Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.24 kb
var r:array[1..1000,1..1000]of boolean;
    a,b,c:array[1..1000]of integer;
    rp:array[1..1000]of boolean;
    ir,n,m,i,j,k,x,y,p:integer;
    f,g:text;
    e:boolean;

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]);
readln(f,x,y);
ir:=1;
for i:=1 to n do r[1,i]:=a[i]*x+b[i]*y+c[i]>0;
for i:=2 to m do begin
   p:=1;
   readln(f,x,y);
   for j:=1 to n do begin
      rp[j]:=a[j]*x+b[j]*y+c[j]>0;
      if p>ir then r[p,j]:=rp[j];
      if r[p,j]=rp[j] then
                      else begin
                           e:=true;
                           while e and (p<ir+1) do begin
                              p:=p+1;
                              k:=1;
                              if p<ir+1 then while (k<j+1)and(rp[k]=r[p,k]) do k:=k+1
                                        else k:=j+1;
                              e:=k<>j+1;
                           end;
                           if not e then begin
                                         for k:=1 to j do r[p,k]:=rp[k];
                                         end;
                           end;
   end;
   if p>ir then ir:=p;   
end;
assign(g,'regiuni.out');
rewrite(g);
write(g,ir);
close(g);
end.