Pagini recente » Cod sursa (job #3142600) | Cod sursa (job #893337) | Cod sursa (job #2224254) | Cod sursa (job #218288) | Cod sursa (job #50198)
Cod sursa(job #50198)
#include <cstdio>
#define INF "regiuni.in"
#define OUF "regiuni.out"
#define NMAX 1001
using namespace std;
/*struct trie
{
int id,t;
};*/
int main()
{
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
register int i,j,k,n,m;
int a[NMAX],b[NMAX],c[NMAX],xx[NMAX],yy[NMAX];
int st[2048]={0};
int tre[NMAX];
fscanf(in,"%d %d",&n,&m);
// for(i=1;i<=n;i++) printf("%d",mask[i]);
for(i=1;i<=n;i++)
fscanf(in,"%d %d %d",a+i,b+i,c+i);
for(i=1;i<=m;i++)
{
fscanf(in,"%d %d",xx+i,yy+i);
tre[i]=1;
}
for(i=1;i<=n;i++)
{
k=0;//printf("%d \n",i);
for(j=1;j<=m;j++)
{
if((xx[j]*a[i]+yy[j]*b[i]+c[i])>0)
tre[j]=2*tre[j]+1;
else tre[j]=2*tre[j];
if(!st[tre[j]])
{
k++;
st[tre[j]]=k;
}
}
for(j=1;j<=m;j++) tre[j]=st[tre[j]];
//printf(" k: %d\n",k);
for(j=1;j<2048;j++) st[j]=0;
}
k=0;
for(j=1;j<=m;j++) st[tre[j]]=1;
for(j=1;j<2048;j++) if(st[j]) k++;
fprintf(out,"%d\n",k);
fclose(in);fclose(out);
return 0;
}