Pagini recente » Cod sursa (job #2921507) | Cod sursa (job #243830) | Borderou de evaluare (job #3146069) | Cod sursa (job #2603111) | Cod sursa (job #995578)
Cod sursa(job #995578)
#include <stdio.h>
#define MAXN 1005
#define NRM1 666013
#define NRM2 611953
using namespace std;
int h1[MAXN],h2[MAXN],x,y,n,m,a[MAXN],b[MAXN],c[MAXN],sol;
int main(){
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
short int i,j;
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;i++)
scanf("%ld%ld%ld",&a[i],&b[i],&c[i]);
for(i=1;i<=m;i++){
scanf("%ld%ld",&x,&y);
for(j=1;j<=n;j++){
if(x*a[j]+y*b[j]+c[j]>0){
h1[i]=(h1[i]*2)%NRM1;
h2[i]=(h2[i]*2)%NRM2;}
else{
h1[i]=(h1[i]*2+1)%NRM1;
h2[i]=(h2[i]*2+1)%NRM2;}}}
for(i=1;i<=m;i++){
for(j=1;j<i;j++)
if(h1[j]==h1[i]&&h2[j]==h2[i])
break;
if(j==i)
sol++;}
printf("%ld\n",sol);
return 0;}