Cod sursa(job #595187)

Utilizator SpiderManSimoiu Robert SpiderMan Data 11 iunie 2011 14:05:26
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
# include <algorithm>
# include <cstdio>
# include <vector>
using namespace std;

const char *FIN = "regiuni.in", *FOU = "regiuni.out";
const int MAX = 1005 ;

int A[MAX], B[MAX], C[MAX];
int N, M;
vector < vector <int> > VV;

int signum (int A) {
    return (A < 0 ? -1 : (A > 0 ? 1 : 0)) ;
}

int main (void) {
    freopen (FIN, "r", stdin) ;

    scanf ("%d %d", &N, &M) ;
    for (int i = 0; i < N; ++i)
        scanf ("%d %d %d", A + i, B + i, C + i) ;
    for (int i = 0, X, Y; i < M; ++i) {
        scanf ("%d %d", &X, &Y) ;
        vector <int> V (0);
        for (int j = 0; j < N; ++j)
            V.push_back (signum (A[j] * X + B[j] * Y + C[j]));
        VV.push_back (V) ;
    }
    sort (VV.begin (), VV.end ());
    VV.resize (unique (VV.begin (), VV.end ()) - VV.begin ()) ;
    fprintf (fopen (FOU, "w"), "%u", VV.size ()) ;
}