Cod sursa(job #39822)

Utilizator QbyxEros Lorand Qbyx Data 26 martie 2007 23:26:16
Problema Regiuni Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.1 kb
program regiuni_hube_konnyu_vot;
type egyenes = record
       a, b, c: integer;
     end;
     pont = record
       x, y: integer;
     end;
var
  Egyenesek: array[1..1000] of egyenes;
  Pontok: array[1..1000] of pont;
  Csoportok: array[1..1000] of string;
  f: text;
  n, m, i, j, r, k: word;
  Voltake: array[1..1000] of boolean;

begin
  Assign(f, 'regiuni.in');
  Reset(f);
  ReadLn(f, n, m);
  for i := 1 to n do ReadLn(f, Egyenesek[i].a, Egyenesek[i].b, Egyenesek[i].c);
  for i := 1 to m do ReadLn(f, Pontok[i].x, Pontok[i].y);
  Close(f);

  for i := 1 to m do
    for j := 1 to n do
      if Egyenesek[j].a * Pontok[i].x + Egyenesek[j].b * Pontok[i].y + Egyenesek[j].c > 0 then Csoportok[i][j] := '1'
      else Csoportok[i][j] := '0';

  r := m;
  for i := 1 to m do
    Voltake[i] := false;

  for i := 1 to m do
    If not(voltake[i]) then
      for j := i + 1 to m do
        if Csoportok[i] <> Csoportok[j] then
          begin
            Dec(r);
            Voltake[j] := true;
          end;
  Assign(f, 'regiuni.out');
  ReWrite(f);
  WriteLn(f, r);
  Close(f);
end.