Cod sursa(job #796242)

Utilizator RaduDoStochitoiu Radu RaduDo Data 10 octombrie 2012 21:18:47
Problema Poligon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<iostream>
#include<cstdio>
using namespace std;
long long x[1000],y[1000],xM,yM,i,n,m,S,Arie,ct;
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",&x[i],&y[i]);
	x[n+1]=x[1];y[n+1]=y[1];
	for(i=1;i<=n;++i)
		S+=x[i]*(y[i+1]-y[i-1]);
	S=abs(S)/2;
	while(m--)
	{
		scanf("%d%d",&xM,&yM);
		Arie=0;
		for(i=1;i<=n;++i)
		{
			Arie+=abs(xM*y[i]+x[i]*y[i+1]+x[i+1]*yM-y[i]*x[i+1]-y[i+1]*xM-yM*x[i])/2;
		}
	if(S==Arie) ct++;
	}
	printf("%d\n",ct);
	return 0;
}