Pagini recente » Cod sursa (job #3031415) | Cod sursa (job #2788810) | Cod sursa (job #1078887) | Cod sursa (job #1834895) | Cod sursa (job #39768)
Cod sursa(job #39768)
program regiuni_hube_konnyu_vot;
type egyenes = record
a, b, c: integer;
end;
pont = record
x, y: integer;
end;
poz = array[1..1000] of '0'..'1';
var
Egyenesek: array[1..1000] of egyenes;
Pontok: array[1..1000] of pont;
Csoportok: array[1..1000] of poz;
f: text;
n, m, i, j, r, k: word;
volte: boolean;
Voltake: array[1..1000] of boolean;
Function Egyenlo(a, b: poz): boolean;
var i: word;
begin
Egyenlo := true;
for i := 1 to n do
if a[i] <> b[i] then
begin
Egyenlo := false;
Exit;
end;
end;
Function Eredmeny(e: egyenes; p: pont): longint;
begin
Eredmeny := e.a * p.x + e.b * p.y + e.c;
end;
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 Eredmeny(Egyenesek[j], Pontok[i]) > 0 then Csoportok[i][j] := '1' else Csoportok[i][j] := '0';
r := m;
for i := 1 to m do
If not(voltake[i]) then
for j := i + 1 to m do
if Egyenlo(Csoportok[i],Csoportok[j]) then
begin
Dec(r);
Voltake[j] := true;
end;
Assign(f, 'regiuni.out');
ReWrite(f);
WriteLn(f, r);
Close(f);
end.