Pagini recente » Cod sursa (job #2377163) | Cod sursa (job #3163683) | Cod sursa (job #888681) | Cod sursa (job #1428586) | Cod sursa (job #1515320)
#include <stdio.h>
#define nmax 810
using namespace std;
struct date { int x,y; };
int aria,j,curent,n,m,i,sol,nr;
date t[nmax],x;
inline int abss(int x) { if (x<0) return (-x); else return x; }
int tarie(date a,date b,date c)
{
return abss(a.x*b.y-a.y*b.x+b.x*c.y-b.y*c.x+c.x*a.y-c.y*a.x)/2;
}
int main() {
freopen("poligon.in","r",stdin);
freopen("poligon.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=n;i++) scanf("%d %d",&t[i].x,&t[i].y);
t[n+1]=t[1];
for (i=1;i<=n;i++)
sol=sol+(t[i].x*t[i+1].y)-(t[i+1].x*t[i].y);
sol=abss(sol)/2;
for (i=1;i<=m;i++) {
scanf("%d %d",&x.x,&x.y); curent=0;
for (j=1;j<=n;j++)
curent+=tarie(x,t[j],t[j+1]);
if (curent==sol) nr++;
}
printf("%d",nr);
return 0;
}