Pagini recente » Cod sursa (job #2227315) | Cod sursa (job #1881782) | Cod sursa (job #211303) | Cod sursa (job #1889506) | Cod sursa (job #560711)
Cod sursa(job #560711)
#include <string.h>
#include <stdio.h>
#include <set>
#include <vector>
using namespace std;
int N,M,i,j,E,pow,nr;
struct dreapta
{
int a,b,c;
}d[1002];
struct punct
{
int x,y;
}p[1002];
vector <char> s;
set <vector<char> > v;
set <vector<char> >::iterator it;
int main()
{
freopen("regiuni.in","r",stdin);
scanf("%d%d",&M,&N);
for(i=0;i<M;i++) scanf("%d%d%d",&d[i].a,&d[i].b,&d[i].c);
for(i=0;i<N;i++) scanf("%d%d",&p[i].x,&p[i].y);
for(i=0;i<N;i++)
{
s.clear();
pow=1;
nr=0;
for(j=0;j<M;j++)
{
E=d[j].a*p[i].x+d[j].b*p[i].y+d[j].c;
if(E<0) nr+=pow;
pow*=2;
if(pow>255)
{
s.push_back(nr);
pow=1;
nr=0;
}
}
if(pow!=1) s.push_back(nr);
it=v.find(s);
if(it==v.end()) v.insert(s);
}
freopen("regiuni.out","w",stdout);
printf("%d\n",v.size());
return 0;
}