QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100 Interactive

#812. 寻找三角形

Statistics

有人在方格纸上画了一个顶点坐标为整数的非退化三角形。然而,他没有告诉任何人这个三角形的位置。因此,你对此感到非常好奇。幸运的是,他同意回答你关于这个三角形的问题。你需要告诉他两个不同点 $(x_1, y_1)$ 和 $(x_2, y_2)$ 的坐标,他会画出一条有向直线,并告诉你这条直线是否穿过该三角形。如果直线穿过三角形,他会告诉你三角形位于直线的左侧还是右侧。

每个问题的回答描述如下:

  • '+' 三角形完全位于直线的右侧。
  • '-' 三角形完全位于直线的左侧。
  • 'X' 直线至少在一个点上穿过三角形。

如果你提出的问题超过 600 个,他会感到非常厌烦,并拒绝继续回答。

输入格式

在每次询问后,你将得到一行输入,它可能是三个字符中的一个('-', '+' 或 'X')。

输出格式

要进行询问,你需要按照以下格式打印一行。所有坐标必须为整数: $Q\ x_1\ y_1\ x_2\ y_2$

$$|x_1|, |x_2|, |y_1|, |y_2| \le 42 \times 10^4$$

如果你确定了三角形的最终位置,你需要按照以下格式打印一行: $A\ x_1\ y_1\ x_2\ y_2\ x_3\ y_3$

如果你猜对了三角形的正确位置,点的顺序不会影响答案的正确性。

$$|x_1|, |x_2|, |x_3|, |y_1|, |y_2|, |y_3| \le 10^5$$

请注意,每次询问后你必须打印一个换行符并刷新缓冲区。例如,在 C++ 中可以使用 fflush(stdout),在 Java 中可以使用 System.out.flush(),在 Pascal 中可以使用 flush(output)

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.