Cod sursa(job #202652)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 10 august 2008 13:23:22
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.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;
}