Pagini recente » Cod sursa (job #1176645) | Cod sursa (job #184567) | Cod sursa (job #2183654) | Cod sursa (job #2155) | Cod sursa (job #183695)
Cod sursa(job #183695)
#include <stdio.h>
#include <string.h>
int n,m,d[100][3],nrg,x,y;
long long a[100],b[100],semn;
const long long mod1=10000019,mod2=9999991;
void qsort(int li,int ls)
{
if (ls-li>0)
{
int i1=0,j1=-1,i=li,j=ls;
while (i<j)
{
if (a[i]>a[j])
{
int aux;
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=i1;
i1=-j1;
j1=-aux;
}
i+=i1;
j+=j1;
}
qsort(li,i-1);
qsort(i+1,ls);
}
}
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
scanf("%d %d\n",&n,&m);
int i,j;
for (i=0;i<n;i++)
scanf("%d %d %d\n",&d[i][0],&d[i][1],&d[i][2]);
for (i=0;i<m;i++)
{
scanf("%d %d\n",&x,&y);
for (j=0;j<n;j++)
{
semn=d[j][0]*x+y*d[j][1]+d[j][2]>0;
a[i]=(a[i]*2+semn)%mod1;
b[i]=(b[i]*2+semn)%mod2;
}
}
// qsort(0,m-1);
nrg=1;
for (i=1;i<m;i++)
{
for (j=0;j<i;j++)
if (a[i]==a[j]&&b[i]==b[j])
break;
if (j==i)
nrg++;
}
printf("%d\n",nrg);
return 0;
}