Cod sursa(job #39554)

Utilizator wefgefAndrei Grigorean wefgef Data 26 martie 2007 20:21:22
Problema Regiuni Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <algorithm>
#include <vector>

using namespace std;

#define sz size()
#define pb push_back

#define Nmax 1024

int n, m;
int x[Nmax], y[Nmax];
int a[Nmax], b[Nmax], c[Nmax];
vector< vector<int> > v;

void readdata()
{
    freopen("regiuni.in", "r", stdin);
    freopen("regiuni.out", "w", stdout);

	int i;

    scanf("%d %d", &n, &m);
    for (i = 1; i <= n; ++i)
        scanf("%d %d %d", &a[i], &b[i], &c[i]);
    for (i = 1; i <= m; ++i)
        scanf("%d %d", &x[i], &y[i]);
}    

void solve()
{
    int i, j;
    vector<int> aux;
    
    for (i = 1; i <= m; ++i)
    {
        aux.clear();
        for (j = 1; j <= n; ++j)
                aux.pb( a[j]*x[i] + b[j]*y[i] + c[j] > 0 );
        v.pb(aux);
    }
    sort( v.begin(), v.end() );
    v.resize( unique(v.begin(), v.end()) - v.begin());
    printf("%d\n", v.sz);
}    

int main()
{
    readdata();
    solve();
    return 0;
}