Pagini recente » Cod sursa (job #1803020) | Cod sursa (job #3129998) | Cod sursa (job #1518735) | Cod sursa (job #2119637) | Cod sursa (job #1150355)
#include<cstdio>
#include<algorithm>
#define NMAX 1010
#define MOD 666013
using namespace std;
struct punct
{
short x, y, regiune;
}a[NMAX];
struct dreapta
{
short a, b, c;
}ec[NMAX];
int n, m;
void Citeste()
{
int i, j;
scanf("%d%d", &n, &m);
for (i=1; i<=n; ++i) scanf("%d%d%d", &ec[i].a, &ec[i].b, &ec[i].c);
for (j=1; j<=m; ++j)
{
scanf("%d%d", &a[j].x, &a[j].y);
a[j].regiune=0;
}
}
bool cmp(punct A, punct B)
{
return A.regiune<B.regiune;
}
void Solve()
{
int i, j, sg, nrm, nrp, val, nr=0;
for (i=1; i<=n; ++i)
{
nrm=0; nrp=0;
for (j=1; j<=m; ++j)
{
sg=ec[i].a*(int)a[j].x+ec[i].b*(int)a[j].y+ec[i].c;
if (sg<0) a[j].regiune=(a[j].regiune*10+1)%MOD;
else a[j].regiune=(a[j].regiune*10+2)%MOD;
}
}
sort(a+1, a+m+1, cmp);
for (i=1; i<=m; ++i)
if (a[i].regiune!=a[i-1].regiune) ++nr;
printf("%d\n", nr);
}
int main()
{
freopen("regiuni.in", "r", stdin);
freopen("regiuni.out", "w", stdout);
Citeste();
Solve();
return 0;
}