Pagini recente » Cod sursa (job #372665) | Cod sursa (job #2784790) | Cod sursa (job #3001326) | Cod sursa (job #914123) | Cod sursa (job #317083)
Cod sursa(job #317083)
#include<stdio.h>
int x[801],y[801],n;
int main()
{FILE *f=fopen("poligon.in","r"),*g=fopen("poligon.out","w");
int m,xx,yy,np=0,i,j;
long a1=0,b;
fscanf(f,"%d %d\n",&n,&m);
for(i=1;i<=n;++i) fscanf(f,"%d %d\n",&x[i],&y[i]);
for(i=2;i<n;++i)
a1+=(x[i]-x[1])*(y[i+1]-y[1])-(x[i+1]-x[1])*(y[i]-y[1]);
for(i=1;i<=m;++i)
{fscanf(f,"%d %d\n",&xx,&yy);
b=0;
for(j=1;j<n;++j)
b+=(x[i]-xx)*(y[i+1]-yy)-(x[i+1]-xx)*(y[i]-yy);
b+=(x[n]-xx)*(y[1]-yy)-(x[1]-xx)*(y[n]-yy);
if(b==a1) np++;
}
fprintf(g,"%d\n",np);
fclose(f);
fclose(g);
return 0;
}