Pagini recente » Cod sursa (job #1626687) | Cod sursa (job #3169016) | Cod sursa (job #2373482) | Cod sursa (job #1328600) | Cod sursa (job #49644)
Cod sursa(job #49644)
type deter=record
a,b,c:integer;
end;
var f,g:text;
d:array[1..1000] of deter;
s:array[1..1000] of ansistring;
n,m,c,i,j,x,y:integer;
procedure quick(ss,d:longint);
var a,b,ia:longint;
aux:ansistring;
begin
a:=ss; b:=d;
repeat
while s[a]<s[b] do dec(b);
aux:=s[a]; s[a]:=s[b]; s[b]:=aux;
inc(a); ia:=1;
if b>a then
begin
while s[a]<s[b] do inc(a);
aux:=s[a]; s[a]:=s[b]; s[b]:=aux;
dec(b); ia:=0;
end;
until b<=a;
if ss<a-ia then quick(ss,a-ia);
if a-ia+1<d then quick(a-ia+1,d);
end;
function pozitiv(x,y:integer; dd:deter):boolean;
begin
if dd.a*x+dd.b*y+dd.c>0 then pozitiv:=true
else pozitiv:=false;
end;
begin
assign(f,'regiuni.in');
reset(f);
readln(f,n,m);
for i:=1 to m do s[i]:='';
for i:=1 to n do readln(f,d[i].a,d[i].b,d[i].c);
for i:=1 to m do
begin
readln(f,x,y);
for j:=1 to n do
begin
if pozitiv(x,y,d[j])then s[i]:=s[i]+'1'
else s[i]:=s[i]+'0';
end;
end;
close(f);
quick(1,m);
c:=1;
for i:=2 to m do
if s[i]<>s[i-1] then inc(c);
for i:=1 to m do writeln(s[i]);
assign(g,'regiuni.out');
rewrite(g);
writeln(g,c);
close(g);
end.