Pagini recente » Cod sursa (job #2067926) | Cod sursa (job #950818) | Cod sursa (job #487488) | Cod sursa (job #1626244) | Cod sursa (job #42729)
Cod sursa(job #42729)
#include <stdio.h>
#include <vector>
using namespace std;
#define maxn 1010
#define pb push_back
#define mod 1913
#define mod2 31991
#define baza 33
#define b2 17
int n,m,sol;
int a[maxn],b[maxn],c[maxn];
vector <short> h[mod];
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
scanf("%d %d ",&n,&m);
int i,p,r,j,x,y,p2,r2,found;
for (i=1;i<=n;i++) scanf("%d %d %d ",&a[i],&b[i],&c[i]);
for (i=1;i<=m;i++)
{
scanf("%d %d ",&x,&y);
p=0;
r=1;
p2=0;
r2=1;
for (j=1;j<=n;j++)
{
r=(r*baza)%mod;
r2=(r2*b2)%mod2;
if (a[j]*x+b[j]*y+c[j]>0)
{
p=(p+r)%mod;
p2=(p2+r2)%mod2;
}
}
found=0;
for (j=0;j<h[p].size();j++)
if (h[p][j]==p2)
{
found=1;
break;
}
if (!found)
{
sol++;
h[p].pb(p2);
}
}
printf("%d\n",sol);
return 0;
}