Cod sursa(job #202645)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 10 august 2008 13:14:38
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>
#include<stdlib.h>
#define N_MAX 1111
#define N_MAXX 100001

int n,m,N,rez,reg,i,j,x,y,t;
int v[N_MAXX][2];
int R[N_MAX];
int a[N_MAX],b[N_MAX],c[N_MAX];
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]);
v[0][0]=v[0][1]=0;
N=1;
rez=0;
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]])
			{
			 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;}