#aBC296G. [ABC296G] Polygon and Points

[ABC296G] Polygon and Points

AT_abc296_g [ABC296G] Polygon and Points

题目描述

在二维坐标平面上,xx 轴的正方向向右,yy 轴的正方向向上,有一个凸 NN 边形 SSSS 的顶点坐标依次为 (X1,Y1),,(XN,YN)(X_1,Y_1),\ldots,(X_N,Y_N),按照逆时针顺序给出。

对于 QQ 个点 (Ai,Bi)(A_i,B_i),请分别判断每个点是在 SS 的内部、外部还是边界上。

输入格式

输入以如下格式从标准输入给出。

NN
X1X_1 Y1Y_1
\vdots
XNX_N YNY_N
QQ
A1A_1 B1B_1
\vdots
AQA_Q BQB_Q

输出格式

输出共 QQ 行。第 ii 行输出如下之一:如果 (Ai,Bi)(A_i,B_i)SS 的内部(不包括边界),输出 IN;如果在外部(不包括边界),输出 OUT;如果在边界上,输出 ON

输入输出样例 #1

输入 #1

4
0 4
-2 2
-1 0
3 1
3
-1 3
0 2
2 0

输出 #1

ON
IN
OUT

输入输出样例 #2

输入 #2

3
0 0
1 0
0 1
3
0 0
1 0
0 1

输出 #2

ON
ON
ON

说明/提示

限制条件

  • 3N2×1053 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 109Xi,Yi,Ai,Bi109-10^9 \leq X_i, Y_i, A_i, B_i \leq 10^9
  • SS 是严格凸的 NN 边形,即所有内角都小于 180180 度。
  • (X1,Y1),,(XN,YN)(X_1,Y_1),\ldots,(X_N,Y_N)SS 的顶点,按逆时针顺序给出。
  • 所有输入均为整数。

样例说明 1

SS 以及给定的 33 个点如下图所示。第 11 个点在 SS 的边界上,第 22 个点在内部,第 33 个点在外部。
图

由 ChatGPT 4.1 翻译