QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 128 MB مجموع النقاط: 100

#10994. 守望者

الإحصائيات

Byteman 是反抗军的一员,正在与占领拜特兰(Byteland)的邪恶皇帝作战。由于他身手敏捷,他被选中执行一项任务,从皇宫中获取皇帝的一些秘密蓝图。他花了很多时间考虑进入皇宫的各种方法,最终决定通过下水道潜入。

令他沮丧的是,他发现城市下水道与皇宫下水道之间被厚厚的铁栅栏隔开了。因此,他决定利用城市下水道穿过第一道守卫防线,通过皇宫广场(皇宫本身的一个巨大庭院)上的一个排水沟离开下水道,然后使用另一个排水沟进入栅栏另一侧的皇宫下水道。

皇宫广场由守卫巡逻。每名守卫都在连接两个点的线段上巡逻。他以恒定速度从点 A 移动到点 B,进行急转弯(瞬间完成,不环顾四周),从 B 移动到 A,再进行急转弯,并重复整个过程。皇帝热衷于精明(尽管不一定合理)的训练,命令所有守卫在同一时刻转弯,每分钟一次——因此每名守卫以每分钟 $\ell$ 的恒定速度移动,其中 $\ell$ 是他巡逻线段的长度。

Byteman 知道所有守卫巡逻的线段。他自己能够以每分钟 10 字节英尺(bytefeet)的速度潜行。他穿着一件特殊的黑色斗篷执行任务,这使得守卫在他静止不动时无法发现他。然而,如果他在任何守卫的视野内移动,他就会被发现并因此被捕。特别地,Byteman 不能在任何守卫视野内的时刻进入或离开排水沟。守卫的视野范围是无限的,但他们脑后没有眼睛,因此他们只能看到前方 180° 闭合角内的物体。你可以假设皇宫广场是无限大的。

Byteman 不确定所有的排水沟是否都能到达。因此,为了增加成功的机会,他想计算出从他可以用来离开城市下水道的每一个排水沟,他可以到达多少个皇宫排水沟。然而,由于排水沟数量众多,他无法独自完成这项工作,所以他请求你的帮助。

输入格式

标准输入的第一行包含三个整数 $n$、$m$ 和 $p$($1 \le n, m, p \le 10^{5}$),分别表示守卫的数量、通往城市下水道的排水沟数量以及通往皇宫下水道的排水沟数量,数字间用空格分隔。

接下来的 $n$ 行包含守卫巡逻线段的描述。每行包含四个整数 $x_1, y_1, x_2, y_2$,用空格分隔:$-2 \cdot 10^{7} \le x_1, y_1, x_2, y_2 \le 2 \cdot 10^{7}$,表示该守卫在点 $(x_1, y_1)$ 和 $(x_2, y_2)$ 之间的线段上巡逻。开始时,守卫位于 $(x_1, y_1)$ 并面向 $(x_2, y_2)$。坐标系的选择使得 $(0, 0)$ 和 $(1, 0)$ 之间的距离为 1 字节英尺。

接下来的 $m + p$ 行描述了排水沟的位置。每行包含两个整数 $x$ 和 $y$,用空格分隔:$-2 \cdot 10^{7} \le x, y \le 2 \cdot 10^{7}$,表示排水沟位于点 $(x, y)$。前 $m$ 行描述了连接到城市下水道的排水沟位置,接下来的 $p$ 行描述了连接到皇宫下水道的排水沟位置。

你可以假设输入数据经过选择,使得如果每个排水沟移动最多 $10^{-7}$ 字节英尺,答案不会改变。

输出格式

你需要向标准输出写入 $m$ 行。第 $i$ 行应包含一个整数,表示从输入中给出的第 $i$ 个排水沟可以到达的连接到皇宫下水道的排水沟数量。

样例

输入

3 2 2
-3 4 7 -6
6 4 5 4
6 4 6 5
4 0
5 6
5 8
7 4

输出

0
2

说明

第一个排水沟很不幸,一直处于某位守卫的视野内——第二位守卫开始注视它的时刻,正是第三位守卫背对它的时刻。

从第二个排水沟出发,两个皇宫排水沟都是可达的。要到达第一个排水沟,只需等待 1 分 42 秒,让第一位守卫失去对排水沟 (5, 6) 的视野(第二和第三位守卫更早失去视野),然后从容地利用 18 秒到达排水沟 (5, 8)。

到达排水沟 (7, 4) 需要更多的工作。我们再次在 102 秒后离开排水沟,但这次我们利用守卫转身看不到我们的 18 秒时间到达点 (5.5, 4.5)。在那里我们等待 30 秒,然后就可以自由地跑到排水沟 (7, 4) 了。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.