Cod sursa(job #1891737)

Utilizator EpictetStamatin Cristian Epictet Data 24 februarie 2017 11:49:49
Problema Regiuni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <bitset>
#include <unordered_set>

using namespace std;

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

class dreapta { public : int a, b, c; } D[1010];
class punct { public : int x, y; } P[1010];
int n, m;
bitset < 1010 > A;
unordered_set < bitset < 1010 > > H;

bool Pos(punct p, dreapta d)
{
    return (d.a * p.x + d.b * p.y + d.c > 0);
}

int main()
{
    fin >> n >> m;
    for (int i = 1; i <= n; i ++) fin >> D[i].a >> D[i].b >> D[i].c;
    for (int i = 1; i <= m; i ++) fin >> P[i].x >> P[i].y;
    for (int i = 1; i <= m; i ++)
    {
        for (int j = 1; j <= n; j ++)
        {
            A[j] = Pos(P[i], D[j]);
        }
        H.insert(A);
    }
    fout << H.size() << '\n';
    fout.close();
    return 0;
}