Pagini recente » Cod sursa (job #743119) | Cod sursa (job #2732890) | Cod sursa (job #543587) | Cod sursa (job #83660) | Cod sursa (job #382325)
Cod sursa(job #382325)
#include<stdio.h>
#define pmax 1000000007
#define pmax2 666013
struct dreapta
{
int a,b,c;
}v[1<<10];
int n,m,h1[1<<10],h2[1<<10];
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
scanf("%d%d",&n,&m);
int i,j,x,y;
for(i=1;i<=n;i++)
scanf("%d%d%d",&v[i].a,&v[i].b,&v[i].c);
int nr1,nr2;
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
nr1=nr2=0;
for(j=1;j<=n;j++)
if(v[j].a*x+v[j].b*y+v[j].c<0)
{
nr1=(nr1*2)%pmax;
nr2=(nr2*3)%pmax2;
}
else
{
nr1=(nr1*2+1)%pmax;
nr2=(nr2*5+1)%pmax2;
}
h1[i]=nr1;
h2[i]=nr2;
}
int sol=0;
for(i=1;i<=m;i++)
{
for(j=1;j<i;j++)
if(h1[i]==h1[j] && h2[i]==h2[j])
break;
if(j==i)
sol++;
}
printf("%d\n",sol);
return 0;
}