Cod sursa(job #2201820)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 6 mai 2018 11:27:44
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <algorithm>

#define MOD 1000003
using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int H[MOD], n, m;

struct drepte{
    int a, b, c;
}dr[1005];

int Hash(int x, int y){ /// 1 = < 0 si 2 = >0
    int rez = 0;
    for(int i = 1; i <= n; ++i){
        short faranume = dr[i].a * x + dr[i].b * y + dr[i].c;
        if(faranume < 0)
            rez = rez * 3 + 1;
        else rez = rez * 3 + 2;

        rez %= MOD;
    }

    return rez;
}

int main()
{
    fin >> n >> m;

    for(int i = 1; i <= n; ++i)
        fin >> dr[i].a >> dr[i].b >> dr[i].c;

    for(int i = 1; i <= m; ++i){
        int xx, yy;
        fin >> xx >> yy;

        H[i] = Hash(xx, yy);
    }

    sort(H + 1, H + m + 1);

    int nrGrupe = 1;
    for(int i = 2; i <= m; ++i)
        if(H[i] != H[i - 1])
            ++nrGrupe;

    fout << nrGrupe << '\n';
    return 0;
}