Cod sursa(job #770048)

Utilizator test_666013Testez test_666013 Data 21 iulie 2012 20:28:38
Problema Poligon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>
#define MAX 888

struct point{
    int x,y;
}s[MAX],p;

int n,m,nr;

int delta(point a,point b,point c){
    return a.x*b.y + b.x*c.y + c.x*a.y - c.x*b.y - a.x*c.y - b.x*a.y;
}

bool apare(){
    for(int i=1;i<=n;i++)
    if( delta(s[i],s[i+1],p) > 0 )return 0;
    return 1;
}

int main(){
    freopen("poligon.in","r",stdin);
    freopen("poligon.out","w",stdout);
        scanf("%d %d",&n,&m);
        for(int i=1;i<=n;i++) scanf("%d %d",&s[i].x,&s[i].y);
        s[n+1] = s[1];

        for(int i=1;i<=m;i++)
        {
            scanf("%d %d",&p.x,&p.y);
            if( apare() )nr++;
        }
        printf("%d\n",nr);
    return 0;
}