Cod sursa(job #301140)

Utilizator DraStiKDragos Oprica DraStiK Data 7 aprilie 2009 22:49:36
Problema Regiuni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>
#include <string>
#define DIM 1005
using namespace std;
struct drpt {int a,b,c;} d[DIM];
struct pct {int x,y;} p[DIM];
int sol[DIM];
int n,m,nrt;
void read ()
{
    int i;
    scanf ("%d%d",&n,&m);
    for (i=1; i<=n; ++i)
        scanf ("%d%d%d",&d[i].a,&d[i].b,&d[i].c);
    for (i=1; i<=m; ++i)
        scanf ("%d%d",&p[i].x,&p[i].y);
}
void proc ()
{
    int i,j;
    for (i=1; i<=m; ++i)
        for (j=1; j<=n; ++j)
            if (d[j].a*p[i].x+d[j].b*p[i].y+d[j].c>0)
                sol[i]=2*sol[i]+1;
            else
                sol[i]=2*sol[i];
}
void solve ()
{
    int i,j;
    for (i=1; i<=m; )
    {
        j=sol[i];
        for ( ; sol[i]==j && i<=m; ++i);
        ++nrt;
    }
    printf ("%d",nrt);
        
}
int main ()
{
    freopen ("regiuni.in","r",stdin);
    freopen ("regiuni.out","w",stdout);
    read ();
    proc ();
    sort (sol,sol+m+1);
    solve ();
    return 0;
}