#icpc2015summerday4e. [icpc2015summer_day4_e]Enclose Points

[icpc2015summer_day4_e]Enclose Points

问题描述

xyxy-平面上有 NN 个点和 MM 条线段。每条线段连接这些点中的两个点,除了端点外它们不相交。还给定了 QQ 个查询点。你的任务是确定对于每个查询点,是否可以用给定的一些线段构成一个包含该查询点的多边形。注意,多边形不一定是凸多边形。


输入

每个输入的格式如下。

NN MM QQ
x_1x\_1 y_1y\_1
...
x_Nx\_N y_Ny\_N
a_1a\_1 b_1b\_1
...
a_Ma\_M b_Mb\_M
qx_1qx\_1 qy_1qy\_1
...
qx_Qqx\_Q qy_Qqy\_Q

第一行包含三个整数 NN (2N100,0002 \leq N \leq 100{,}000)、MM (1M100,0001 \leq M \leq 100{,}000) 和 QQ (1Q100,0001 \leq Q \leq 100{,}000),代表点的数量、线段的数量和查询的数量。接下来的 NN 行中,每行包含两个整数 x_ix\_iy_iy\_i (100,000x_i,y_i100,000-100{,}000 \leq x\_i, y\_i \leq 100{,}000),表示第 ii 个点的坐标。保证点是不同的,即 (x_i,y_i)(x_j,y_j)(x\_i, y\_i) \neq (x\_j, y\_j)iji \neq j。接下来的 MM 行中,每行包含两个整数 a_ia\_ib_ib\_i (1a_i<b_iN1 \leq a\_i < b\_i \leq N),表示第 ii 条线段连接 a_ia\_i 号点和 b_ib\_i 号点。假设这些线段除了端点外不相交。接下来的 QQ 行中,每行包含两个整数 qx_iqx\_iqy_iqy\_i (100,000qx_i,qy_i100,000-100{,}000 \leq qx\_i, qy\_i \leq 100{,}000),表示第 ii 个查询点的坐标。

可以假设对于任意一对查询点和线段,它们之间的距离至少为 10410^{-4}

输出

输出应包含 QQ 行。如果存在一个包含第 ii 个查询点的多边形,则在第 ii 行上打印 "Yes"。否则,在第 ii 行上打印 "No"。


示例输入 1

4 5 3
-10 -10
10 -10
10 10
-10 10
1 2
1 3
1 4
2 3
3 4
-20 0
1 0
20 0```

### 示例输入 1 的输出

```plain
No
Yes
No```

* * *

### 示例输入 2

```plain
8 8 5
-20 -20
20 -20
20 20
-20 20
-10 -10
10 -10
10 10
-10 10
1 2
1 4
2 3
3 4
5 6
5 8
6 7
7 8
-25 0
-15 0
0 0
15 0
25 0```

### 示例输入 2 的输出

```plain
No
Yes
Yes
Yes
No```

* * *

### 示例输入 3

```plain
8 8 5
-20 -10
-10 -10
-10 10
-20 10
10 -10
20 -10
20 10
10 10
1 2
2 3
3 4
1 4
5 6
6 7
7 8
5 8
-30 0
-15 0
0 0
15 0
30 0```

### 示例输入 3 的输出

```plain
No
Yes
No
Yes
No```

* * *