#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.