QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#13063. 多边形

Statistics

为了生成问题 “Entfernung” 的随机测试用例,我们需要一种随机生成多边形的方法,这些多边形不一定是凸的(当然,不能有自交和自接触)。

起初,我们采用以下策略来生成一个具有 $n$ 个顶点的多边形:

  1. 生成 $n$ 个独立的点,每个点的 $2n$ 个坐标均从 $-1000$ 到 $1000$ 之间的整数中独立且均匀地随机选取。
  2. 如果有任意两个点重合,或者任意三个点共线,则返回第 1 步。
  3. 生成 $n$ 个点的一个随机排列(每个排列被选中的概率相同)。按照排列的顺序连接这 $n$ 个点,并将排列的最后一个元素与第一个元素相连,构成一个多边形。
  4. 如果生成的多边形有自交,则返回第 3 步,否则完成!

在尝试了一段时间后,我们发现即使对于中等规模的 $n$,该策略也可能需要很长时间,因为当我们按照随机排列的顺序连接顶点时,产生自交的可能性非常大。

我们决定改进策略如下:

  1. 同上。
  2. 同上。
  3. 同上。
  4. 如果生成的多边形没有自交,则完成!
  5. 否则,从所有相交的边对中均匀随机地选取一对。移除这两条边。以一种仍然能构成一个多边形的方式连接四个断点,且该多边形与刚才的多边形不同(恰好只有一种这样的方式),然后返回第 4 步。

可以证明该策略总是会终止,事实上它比第一种策略终止得快得多。

然而,事实证明它倾向于生成略有不同的多边形。给定一个多边形,请确定它是使用哪种策略生成的。

输入格式

输入文件的第一行包含一个整数 $t$,即测试用例的数量。每个测试用例以单独一行上的顶点数 $n$ 开始,随后是 $n$ 行,每行包含一个顶点的坐标。

在非样例输入中,每个测试用例的策略都是均匀随机选择的,并使用所选策略生成多边形。

在非样例输入中,$t$ 始终为 $1000$,$n$ 始终为 $12$。本题共有 $10$ 个非样例输入文件。

输出格式

输出 $t$ 行,每行包含单词 “FIRST”(不含引号)或 “SECOND”(不含引号),表示生成相应多边形所选用的策略。对于非样例输入,如果 $1000$ 个策略中至少有 $666$ 个猜对,则您的输出将被接受。对于样例输入,任何格式正确的输出都将被接受。

样例

输入 1

2
4
0 0
0 10
10 10
10 0
4
0 0
10 0
1 1
0 10

输出 1

SECOND
FIRST

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.