Cod sursa(job #2630254)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 24 iunie 2020 20:54:45
Problema Regiuni Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define DIM 1010
#define MOD 1000000007
using namespace std;
struct dreapta{
    int a,b,c;
} v[DIM];

map <int,int> f;
int n,m,i,j,x,y;

int _ (int i, int x, int y){
    return v[i].a * x + v[i].b * y + v[i].c;
}

int main (){

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

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

    int sol = 0;
    for (i=1;i<=m;i++){
        fin>>x>>y;
        int cod = 0;
        for (j=1;j<=n;j++){
            if (_(j,x,y) < 0)
                cod = (1LL * cod * 3 + 1) % MOD;
            else cod = (1LL * cod * 3 + 2) % MOD;
        }
        if (!f[cod]){
            f[cod] = 1;
            sol++;
        }
    }

    fout<<sol;

    return 0;
}