#include <stdio.h> #include "string.h" #include "math.h" double sfun(double x1,double y1,double x2,double y2,double x3,double y3) { double x=((x1*y2-x2*y1)+(x2*y3-x3*y2)+(x3*y1-x1*y3))/2; return x>0?x:x*(-1.0); } int main(void) { int m; scanf("%d",&m); while(m--) { int n,ans=0; double ss[101][2],label[4][2]; double s; double sum=0; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%lf%lf",&ss[i][0],&ss[i][1]); for(int i=0;i<4;i++) scanf("%lf%lf",&label[i][0],&label[i][1]); s=sfun(label[0][0],label[0][1],label[1][0],label[1][1],label[2][0],label[2][1])*2; for(int i=0;i<n;i++) { sum=0; sum+=sfun(ss[i][0],ss[i][1],label[0][0],label[0][1],label[1][0],label[1][1]); sum+=sfun(ss[i][0],ss[i][1],label[1][0],label[1][1],label[2][0],label[2][1]); sum+=sfun(ss[i][0],ss[i][1],label[2][0],label[2][1],label[3][0],label[3][1]); sum+=sfun(ss[i][0],ss[i][1],label[3][0],label[3][1],label[0][0],label[0][1]); if(sum==s) ans++; } printf("%d\n",ans); } } |
Double click to view unformatted code.