Cod sursa(job #38642)

Utilizator skyelHighScore skyel Data 25 martie 2007 22:47:41
Problema Regiuni Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include<string.h>
#include<fstream.h>
#define input "regiuni.in"
#define output "regiuni.out"
#define Nmax 105
#define Mmax 105
#define mod 666013
//using namespace std;

int sec[Mmax][Mmax],n,m;

int cmp(int x[Mmax],int y[Mmax])
    {
    int i;
    for (i=0;i<n;i++)
        {
        if (x[i]!=y[i])
           return 1;
        }
    return 0;                  
    }

int main()
	{
	ifstream fin(input);
	ofstream fout(output);
	int i,j,k,s,ok,t;
   int a[Mmax],b[Mmax],c[Mmax],dx[Nmax],dy[Nmax],h;
	fin>>n>>m;
	k=0;
	for(i=0;i<n;i++)
		fin>>a[i]>>b[i]>>c[i];
	for(i=0;i<m;i++)
		fin>>dx[i]>>dy[i];
	h=0;
   for(i=0;i<m;i++,h++)
		{
	
		for(j=0;j<n;j++)
			{
			s=dx[i]*a[j]+dy[i]*b[j]+c[j];
			if(a[j]*b[j]!=0)
				{
				if(s>0)
					sec[h][j]=1;
				else
				    sec[h][j]=0;
            }
			else
				{
				if(s<0)
					sec[h][j]=1;
				else
				    sec[h][j]=0;
				}
			}
      ok=1;
      for (t=0;t<h;t++)
          {
			 if (!cmp(sec[h],sec[t]))
             {
             ok=0;
             h--;
             break;
             }
          }     
      if (ok)
         k++;                        
      }
	fout<<k<<"\n";
	return 0;
	}