Cod sursa(job #1595158)

Utilizator Alexa2001Alexa Tudose Alexa2001 Data 9 februarie 2016 23:30:28
Problema Regiuni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <cstdio>
#include <algorithm>
#define Mod1 666013
#define Mod2 10003
#include <unordered_set>

using namespace std;

unordered_set< long long > mp;
int n,i,a[1003],b[1003],c[1003],x,y,m;

inline long long det(int x,int y)
{
    int ans1=0,ans2=0;
    for(int i=1;i<=n;++i)
    {
       ans1=ans1*2+(a[i]*x+b[i]*y+c[i]>0);
       if(ans1>=Mod1) ans1-=Mod1;
       ans2=ans2*2+(a[i]*x+b[i]*y+c[i]>0);
       if(ans2>=Mod2) ans2-=Mod2;
    }
    return 1LL*ans1*Mod2+1LL*ans2;
}

int main()
{
    freopen("regiuni.in","r",stdin);
    freopen("regiuni.out","w",stdout);

    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,&y);
        mp.insert(det(x,y));
    }
    printf("%d\n",mp.size());

    return 0;
}