import java.util.*; public class Main { public static void main(String[] args) { Scanner in =new Scanner(System.in); int t =in.nextInt(); for(int i = 0;i<t;i++) { int n =in.nextInt(); int[] x =new int[n]; int[] y =new int[n]; for(int j =0;j<n;j++) { x[j]=in.nextInt(); y[j]=in.nextInt(); } int x1 = in.nextInt(); int y1 = in.nextInt(); int x2 = in.nextInt(); int y2 = in.nextInt(); int x3 = in.nextInt(); int y3 = in.nextInt(); int x4 = in.nextInt(); int y4 = in.nextInt(); double line14 = Math.sqrt((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1)); double line12 = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); double line23 = Math.sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)); double line34 = Math.sqrt((x4-x3)*(x4-x3)+(y4-y3)*(y4-y3)); double m = line14*line12; int count=0; for(int j =0;j<n;j++) { double linea4 = Math.sqrt((x[j]-x4)*(x[j]-x4)+(y[j]-y4)*(y[j]-y4)); double linea3 = Math.sqrt((x[j]-x3)*(x[j]-x3)+(y[j]-y3)*(y[j]-y3)); double linea2 = Math.sqrt((x[j]-x2)*(x[j]-x2)+(y[j]-y2)*(y[j]-y2)); double linea1 = Math.sqrt((x[j]-x1)*(x[j]-x1)+(y[j]-y1)*(y[j]-y1)); double sum=0; double a = line14;double b = linea1;double c = linea4; double s = Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4; sum+=s; a = line12;b = linea1;c = linea2; s = Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4; sum+=s; a = line23;b = linea2;c = linea3; s = Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4; sum+=s; a = line34;b = linea3;c = linea4; s = Math.sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4; sum+=s; if (Math.abs(sum-m)<0.01) { count++; } } System.out.println(count); } } } |
Double click to view unformatted code.