Cod sursa(job #202654)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NMAX 1111
#define MAX 1001100
int v[MAX][2],N,t;
int a[NMAX],b[NMAX],c[NMAX],r[NMAX];
int i,j,n,m,x,y,rez,reg;
int main()
{
freopen("regiuni.in","rt",stdin);
scanf("%d %d", &n, &m);
for (i=1;i<=n;i++)
scanf("%d %d %d", &a[i], &b[i], &c[i]);
rez=0;
v[0][0]=v[0][1]=0;
N=1;
for (i=1;i<=m;i++)
{
scanf("%d %d", &x, &y);
for (j=1;j<=n;j++)
{
r[j]=a[j]*x+b[j]*y+c[j];
if (r[j]>0) r[j]=1;
else r[j]=0;
}
t=0;
reg=0;
for (j=1;j<=n;j++)
{
if (v[t][r[j]]==0)
{
reg=1;
v[t][r[j]]=N;
v[N][0]=v[N][1]=0;
N++;
}
t=v[t][r[j]];
}
rez+=reg;
}
freopen("regiuni.out","wt",stdout);
printf("%d\n",rez);
return 0;
}