Pagini recente » Cod sursa (job #1853162) | Cod sursa (job #1498949) | Cod sursa (job #2018579) | Cod sursa (job #2480730) | Cod sursa (job #1478849)
#include <bits/stdc++.h>
#define prim1 9973
#define prim2 8867
using namespace std;
struct dreapta
{
short a, b, c;
};
dreapta D[1001];
int n, m;
int s1[1001], s2[1001];
inline int Semn(dreapta D, int x, int y)
{
if (D.a * x + D.b * y + D.c < 0) return -1;
return 1;
}
int main()
{
int i, x, y, rez, r1, r2, cnt, j, gasit;
ifstream fin("regiuni.in");
ofstream fout("regiuni.out");
fin >> n >> m;
for (i = 1; i <= n; i++)
fin >> D[i].a >> D[i].b >> D[i].c;
for (i = 1; i <= m; i++)
{
fin >> x >> y;
rez = 0;
for (j = 1; j <= n; ++j)
{
rez = rez * 10;
if (Semn(D[j], x, y) < 0) rez++;
else rez += 2;
r1 = rez % prim1;
r2 = rez % prim2;
}
s1[i] = r1;
s2[i] = r2;
}
cnt = 1;
for (i = 2; i <= m; i++)
{
x = s1[i];
y = s2[i];
gasit = 0;
for (j = 1; j < i && !gasit; j++)
if (s1[j] == x && s2[j] == y) gasit = 1;
if (gasit == 0) cnt++;
}
fout << cnt << "\n";
fin.close();
fout.close();
return 0;
}