Cod sursa(job #1261875)

Utilizator SmitOanea Smit Andrei Smit Data 12 noiembrie 2014 19:55:17
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>
#include <algorithm>
#define p 700001

using namespace std;

int t[1001],cnt,n,m;
int a[1001],b[1001],c[1001];

inline int F(int a,int b,int c,int x,int y)
{
    int v;
    v=a*x+b*y+c;
    if(v<0)
        return -1;
    return 1;
}

int main()
{
    int x,y,i,h,j;
    freopen("regiuni.in","r",stdin);
    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);
        h=0;
        for(j=1;j<=n;++j)
            if(F(a[j],b[j],c[j],x,y)<0)
                h=(h*10+1)%p;
            else
                h=(h*10+2)%p;
        t[i]=h;
    }
    sort(t+1,t+m+1);
    cnt=1;
    for(i=2;i<=m;++i)
        if(t[i]!=t[i-1])
            cnt++;
    freopen("regiuni.out","w",stdout);
    printf("%d\n",cnt);
    return 0;
}