Pagini recente » Cod sursa (job #2394075) | Cod sursa (job #919469) | Cod sursa (job #2407365) | Cod sursa (job #3163354) | Cod sursa (job #796253)
Cod sursa(job #796253)
#include<iostream>
#include<cstdio>
using namespace std;
long long x[1000],y[1000],xM,yM,i,n,m,ct;
double S,Arie,z;
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+=(double((x[i+1]-x[i])*(y[i]+y[i+1]))/2);
if(S<0)
S=-S;
while(m--)
{
scanf("%d%d",&xM,&yM);
Arie=0;
for(i=1;i<=n;++i)
{
z=xM*y[i]+x[i]*y[i+1]+x[i+1]*yM-y[i]*x[i+1]-y[i+1]*xM-yM*x[i];
if(z<0)
z=-z;
Arie+=(double(z)/2);
}
if(S==Arie) ct++;
}
printf("%d\n",ct);
return 0;
}