Universal Cup Judging System

Universal Cup

実行時間制限: 3.0 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓
統計

在 $xy$ 平面上给定 $N$ 条直线。第 $i$ 条直线($1 \le i \le N$)经过两个不同的点 $(a_i, b_i)$ 和 $(c_i, d_i)$。特别地,$(a_1, b_1, c_1, d_1) = (0, 0, 1, 0)$ 且 $(a_2, b_2, c_2, d_1) = (0, 0, 0, 1)$。也就是说,第一条直线代表 $x$ 轴,第二条直线代表 $y$ 轴。

Alice 位于 $xy$ 平面上。她可以执行任意次数(包括零次)以下操作:

选择 $N$ 条给定直线中的一条。Alice 移动到她当前位置关于所选直线的对称点。

此外,我们定义:如果满足以下条件,则称点 $P$ 可从点 $S$ 到达:

对于任何实数 $\varepsilon > 0$,都存在一个点 $Q$,使得 $Q$ 与 $P$ 之间的欧几里得距离最多为 $\varepsilon$,且 Alice 可以通过有限次操作从 $S$ 移动到 $Q$。

回答 $Q$ 个询问。对于第 $i$ 个询问($1 \le i \le Q$),给定整数 $X_i, Y_i, Z_i, W_i$。如果 $(Z_i, W_i)$ 可从 $(X_i, Y_i)$ 到达,输出 Yes,否则输出 No

给定 $T$ 组测试数据;请解决每一组数据。

输入格式

输入按以下格式给出:

$T$ $case_1$ $case_2$ $\vdots$ $case_T$

其中 $case_i$ 表示第 $i$ 组测试数据。每组测试数据按以下格式给出:

$N$ $a_1 \ b_1 \ c_1 \ d_1$ $a_2 \ b_2 \ c_2 \ d_2$ $\vdots$ $a_N \ b_N \ c_N \ d_N$ $Q$ $X_1 \ Y_1 \ Z_1 \ W_1$ $X_2 \ Y_2 \ Z_2 \ W_2$ $\vdots$ $X_Q \ Y_Q \ Z_Q \ W_Q$

  • 所有输入值均为整数。
  • $1 \le T \le 100$
  • 对于每组测试数据:
    • $2 \le N \le 2000$
    • $1 \le Q \le 2000$
    • $-10^8 \le a_i, b_i, c_i, d_i \le 10^8$ ($1 \le i \le N$)
    • $(a_i, b_i) \neq (c_i, d_i)$
    • $(a_1, b_1, c_1, d_1) = (0, 0, 1, 0)$
    • $(a_2, b_2, c_2, d_2) = (0, 0, 0, 1)$
    • 所有给定的直线互不相同。
    • $-10^8 \le X_i, Y_i, Z_i, W_i \le 10^8$ ($1 \le i \le Q$)

输出格式

对于每组测试数据,输出 $Q$ 行。第 $i$ 行($1 \le i \le Q$)应包含第 $i$ 个询问的答案。如果 $(Z_i, W_i)$ 可从 $(X_i, Y_i)$ 到达,输出 Yes,否则输出 No。输出不区分大小写。

样例

样例输入 1

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

样例输出 1

Yes
Yes
No
Yes
Yes
Yes

说明

让我们解释第一组测试数据。对于第一个询问,Alice 可以依次使用第二条和第三条直线进行移动:$(1, 0) \to (-1, 0) \to (2, 3)$。因此,$(2, 3)$ 可从 $(1, 0)$ 到达。注意,对于第四个询问,如果 $(X_i, Y_i) = (Z_i, W_i)$,则目的地总是可达的。

现在让我们解释第二组测试数据。对于第一个询问,Alice 可以依次使用第一条和第三条直线进行移动:$(2, 1) \to (2, -1) \to (-\frac{6}{5}, \frac{27}{5})$。$(-1, 5)$ 与 $(-\frac{6}{5}, \frac{27}{5})$ 之间的距离为 $\sqrt{\frac{1}{5}}$。这意味着对于 $\varepsilon \ge \sqrt{\frac{1}{5}}$,Alice 可以找到一个满足“可达”条件的点 $Q$。此外,对于任何 $\varepsilon > 0$,Alice 都能找到这样的点 $Q$。因此,$(2, 1)$ 可从 $(-1, 5)$ 到达。

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.