Pagini recente » Cod sursa (job #297058) | Cod sursa (job #194117) | Cod sursa (job #2714277) | Cod sursa (job #2566470) | Cod sursa (job #40407)
Cod sursa(job #40407)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define Nmax 250
char mat[Nmax][Nmax];
int p,i,j,n,m,ec;
int sort_function( const void *a, const void *b)
{
return( strcmp((char *)a,(char *)b) );
}
struct drepte
{
int a,b,c;
};
struct puncte
{
int x,y;
};
int main()
{
drepte dr[Nmax];
puncte pc[Nmax];
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
scanf("%d%d",&n,&m);
//n drepte si m puncte
for (i=0;i<n;i++)
scanf("%d%d%d",&dr[i].a,&dr[i].b,&dr[i].c);
for (i=0;i<m;i++)
scanf("%d%d",&pc[i].x,&pc[i].y);
for (i=0;i<n;i++)
for(j=0;j<m;j++)
{
ec=dr[i].a * pc[j].x+ dr[i].b * pc[j].y + dr[i].c;
if (ec>0)
mat[j][i]='1';
else mat[j][i]='0';
}
qsort ((void *) mat, m, sizeof(mat[0]), sort_function);
for(p=1,i=1;i<m;i++)
if ( strcmp(mat[i],mat[i-1]) )
p++;
printf("%d\n",p);
return 0;
}