Pagini recente » Cod sursa (job #727401) | Cod sursa (job #2481823) | Cod sursa (job #2962185) | Cod sursa (job #874118) | Cod sursa (job #627107)
Cod sursa(job #627107)
#include <cstdio>
#include <algorithm>
#define NMAX 1000
#define MOD 32
using namespace std;
int N, M;
int a[NMAX], b[NMAX], c[NMAX];
int x, y;
int v;
int h[NMAX];
int main()
{
int i, j, nr, key;
freopen("regiuni.in", "r", stdin);
freopen("regiuni.out", "w", stdout);
scanf("%d %d", &N, &M);
for(i=0;i<N;++i)
{
scanf("%d %d %d", &a[i], &b[i], &c[i]);
}
for(i=0;i<M;++i)
{
scanf("%d %d", &x, &y);
key = 0;
v = 0;
for(j=0;j<N;++j)
{
if(a[j]*x + b[j]*y + c[j] > 0)
{
v = (v<<1) + 1;
}
else
{
v = v<<1;
}
if(j % MOD == MOD - 1)
{
key = (key * 7919 + v) % 150000001;
v = 0;
}
}
key = (key * 7919 + v) % 150000001;
h[i] = key;
}
sort(h, h+M);
nr = 1;
for(i=1;i<M;++i)
{
if(h[i] != h[i-1])
{
++nr;
}
}
printf("%d\n", nr);
return 0;
}