Cod sursa(job #286431)

Utilizator CezarMocanCezar Mocan CezarMocan Data 23 martie 2009 20:07:16
Problema Regiuni Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>
#define mod 102121
#define maxn 1010

using namespace std;

struct dreapta {
	int a, b, c;
};

int n, m, i, j, x, y, nr, sol;
dreapta v[maxn];
bool ct[mod + 10];


int main() {
	freopen("regiuni.in", "r", stdin);
	freopen("regiuni.out", "w", stdout);
	
	scanf("%d%d", &n, &m);
	for (i = 1; i <= n; i++)
		scanf("%d%d%d", &v[i].a, &v[i].b, &v[i].c);
	
	for (i = 1; i <= m; i++) {
		scanf("%d%d", &x, &y);
		nr = 0;
		for (j = 1; j <= n; j++)
			if (v[j].a * x + v[j].b * y + v[j].c <= 0)
				nr = (nr * 2) % mod;
			else
				nr = (nr * 2 + 1) % mod;
		ct[nr] = 1;
	}
	
	for (i = 0; i < mod; i++)
		if (ct[i])
			sol++;
	
	printf("%d\n", sol);
	
	return 0;
}