Pagini recente » Cod sursa (job #2767867) | Cod sursa (job #3260759) | Cod sursa (job #2719390) | Cod sursa (job #194541) | Cod sursa (job #39031)
Cod sursa(job #39031)
#include <stdio.h>
#include <string>
using namespace std;
#define MOD 1323456201
#define Nmax 1001
struct dreapta
{
int a,b,c;
} d[1001];
struct pct
{
int x,y;
} p[1001];
int m, S;
long long h[Nmax];
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
int i,j,n;
scanf("%d%d", &n,&m);
for(i=1;i<=n;++i)
scanf("%d%d%d", &d[i].a, &d[i].b, &d[i].c);
for(i=1;i<=m;++i)
scanf("%d%d", &p[i].x, &p[i].y);
for(i=1;i<=m;++i)
for(j=1;j<=n;++j)
if(d[j].a*p[i].x+d[j].b*p[i].y+d[j].c > 0)
{
h[i] = h[i]*2 + 1;
if(h[i] > MOD)
h[i] -=MOD;
}
else
{
h[i] = h[i]*2;
if(h[i] > MOD)
h[i] -=MOD;
}
++m;
sort(h,h+m);
S=0;
long long aux;
for(i=1;i<m;)
{
aux = h[i];
for(;h[i] == aux && i<m;++i);
++S;
}
printf("%d\n", S);
return 0;
}