Cod sursa(job #1261870)

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

using namespace std;

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

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

int main()
{
    int x,y,i,h,j;
    ifstream fin("regiuni.in");
    fin>>n>>m;
    for(i=1;i<=n;++i)
        fin>>a[i]>>b[i]>>c[i];
    for(i=1;i<=m;++i)
    {
        fin>>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++;
    ofstream fout("regiuni.out");
    fout<<cnt<<"\n";
    fout.close();
    return 0;
}