Pagini recente » Cod sursa (job #1433489) | Cod sursa (job #1179742) | Cod sursa (job #2018886) | Cod sursa (job #2500444) | Cod sursa (job #1151498)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define nmax 1005
#define mmax 1005
#define modulo 666013
#define modulo2 666019
struct pct{int x,y;};
struct ecuatie{int a, b, c;};
struct element{int a,b;};
int i, n, m, smn, j, rez;
element x[nmax];
pct v[nmax];
ecuatie ec[mmax];
void citire()
{
scanf("%ld %ld",&n,&m);
for (i=1;i<=n;i++)
scanf("%ld %ld %ld",&ec[i].a,&ec[i].b,&ec[i].c);
for (i=1;i<=m;i++)
scanf("%ld %ld",&v[i].x,&v[i].y);
}
bool cmp(element a, element b)
{
if (a.a!=b.a)
return (a.a<b.a);
return (a.b<b.b);
}
void rezolvare()
{
for (i=1;i<=m;i++)
for (j=1;j<=n;j++)
{
smn=ec[j].a*v[i].x+ec[j].b*v[i].y+ec[j].c;
x[i].a=(x[i].a*2+(smn<0))%modulo;
x[i].b=(x[i].b*2+(smn<0))%modulo2;
}
sort(x+1,x+1+m,cmp);
for (i=2;i<=m;i++)
rez+=((x[i].a!=x[i-1].a)|(x[i].b!=x[i-1].b));
}
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
citire();
rezolvare();
printf("%ld",rez+1);
return 0;
}