Cod sursa(job #38809)

Utilizator crusRus Cristian crus Data 26 martie 2007 10:11:40
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
int n,m,nrreg,p[1001][1001],a[1001],b[1001],c[1001];
FILE *f=fopen("regiuni.in","r");
FILE *g=fopen("regiuni.out","w");


void poz(int x,int y)
{
  int i,j,sw;
 int tmp[10];
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()
{  
 fscanf(f,"%d %d",&n,&m);
 
int i,j,poz;
for(i=1;i<=n;i++)
  fscanf(f,"%d %d %d",&a[i],&b[i],&c[i]);
int x,y;
for(j=1;j<=m;j++)
  {fscanf(f,"%d%d",&x,&y);
   poz(x,y);
  }
}


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