Pagini recente » Cod sursa (job #1702328) | Cod sursa (job #2886964) | Cod sursa (job #2414257) | Cod sursa (job #126726) | Cod sursa (job #37627)
Cod sursa(job #37627)
#include<fstream.h>
#define dim 1001
struct drepte
{ int a,b,c;
};
drepte w[dim];
ifstream f("regiuni.in");
ofstream g("regiuni.out");
int n,m;
int mat[dim][dim];
int main()
{f>>n>>m;
int i,j,k;
float x,y,yy,xx;
for(i=1;i<=n;i++)
f>>w[i].a>>w[i].b>>w[i].c;
for(k=1;k<=m;k++)
{f>>x>>y;
for(i=1;i<=n;i++)
{if(!w[i].a)
{yy=(float)((-1)*w[i].c)/w[i].b;
if(yy>y) mat[k][i]=0;
else mat[k][i]=1;
}
else if(!w[i].b)
{xx=(float)((-1)*w[i].c)/w[i].a;
if(xx>x) mat[k][i]=0;
else mat[k][i]=1;
}
else
{yy=(float)((-1)*(w[i].c+w[i].a*x))/w[i].b;
if(yy>y) mat[k][i]=0;
else mat[k][i]=1;
}
}
}
int cont=m,ok;
for(i=1;i<m;i++)
{for(k=(i+1);k<=m;k++)
{ok=1;
for(j=1;j<=n;j++)
if(mat[i][j]!=mat[k][j]) {ok=0;break;}
if(ok) {cont--;break;}
}
}
g<<cont<<'\n';
g.close();
return 0;
}