View Code of Problem 2595

#include<stdio.h>
#include<math.h>
int main(void)
{
	int t,n,a[100],b[100],c[4],d[4],i,j,k,sum=0;float s1,s2,s3,s4,s;
	scanf("%d",&t);
	for(i=0;i<t;i++)
	{
		scanf("%d",&n);
		for(j=0;j<n;j++)
		scanf("%d%d",&a[j],&b[j]);
		for(k=0;k<4;k++)
		scanf("%d%d",&c[k],&d[k]);
		s=(c[1]-c[0])*(d[3]-d[0])-(d[1]-d[0])*(c[3]-c[0]);
		for(j=0;j<n;j++)
		{
		  s1=((c[0]-a[j])*(d[1]-b[j])-(c[1]-a[j])*(d[0]-b[j]))/2.0;
		  s2=((c[1]-a[j])*(d[2]-b[j])-(c[2]-a[j])*(d[1]-b[j]))/2.0;
		  s3=((c[2]-a[j])*(d[3]-b[j])-(c[3]-a[j])*(d[2]-b[j]))/2.0;
		  s4=((c[3]-a[j])*(d[0]-b[j])-(c[0]-a[j])*(d[3]-b[j]))/2.0;
		  if(fabs(s1+s2+s3+s4-s)<0.0001&&s1>=0&&s2>=0&&s3>=0&&s4>=0)
		  sum++;
	    }
	    printf("%d\n",sum);
	    sum=0;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 2595