Cod sursa(job #286634)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 23 martie 2009 23:03:44
Problema Regiuni Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <math.h>

#define MAXN 1010
#define MOD 666013

using namespace std;

long n, m, i, j, x, y, rez, ok, v[MAXN], a[MAXN], b[MAXN], c[MAXN];

void baga(long i);

int main() {
	freopen("regiuni.in", "r", stdin);
	freopen("regiuni.out", "w", stdout);
	scanf("%ld %ld", &n, &m);
	for (i = 1; i <= n; ++i) {
		scanf("%ld %ld %ld", &a[i], &b[i], &c[i]);
	}
	for (i = 1; i <= m; i++) {
		scanf("%ld %ld", &x, &y);
		baga(i);
	}
	for (i = 1; i <= m; ++i) {
		++rez;
		for (j = 1; j < i; ++j) {
			if (v[i] == v[j]) {
				--rez;
				break;
			}
		}
	}
	printf("%ld\n", rez);
	return 0;
}

void baga(long i) {
	for (j = 1; j <= n; ++j) {
		if (a[j] * x + b[j] * y + c[j] <= 0) {
			v[i] = (v[i] * 2) % MOD;
		} else {
			v[i] = (v[i] * 2 + 1) % MOD;
		}
	}	
}