Cod sursa(job #38539)

Utilizator n_lichkingSentes Norbert n_lichking Data 25 martie 2007 21:23:21
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
int n,m,nrreg;
int p[50][100],a[100],b[100],c[100];
FILE *f=fopen("regiuni.in","r");
FILE *g=fopen("regiuni.out","w");


void poz(int x,int y)
{
  int i,j,sw;
 int tmp[1000];
for(i=1;i<=n;i++)
      if(a[i]*x+b[i]*y+c[i]<0)
         tmp[i]=-1;
      else tmp[i]=1;
 	
sw=0;  
for(i=1;i<=nrreg;i++)
   {sw=0;
    for(j=1;j<=n;j++)
     if(tmp[j]!=p[i][j])
	  sw=1;
   if(!sw)
   break;
   }
   if(sw||!nrreg)
   {nrreg++;
   for(j=1;j<=n;j++)
    p[nrreg][j]=tmp[j];
   }

}

void cit()
{register int i;
 int x,y;
 fscanf(f,"%d%d",&n,&m);
 for(i=1;i<=n;i++)
  fscanf(f,"%d%d%d",&a[i],&b[i],&c[i]);
for(i=1;i<=m;i++)
  {fscanf(f,"%d%d",&x,&y);
   poz(x,y);
  }
}


int main()
{
 cit();
 fprintf(g,"%d",nrreg);
fcloseall();
 return 0; 
}