#P13299. [GCJ 2013 #3] Rural Planning [Unverified]
[GCJ 2013 #3] Rural Planning [Unverified]
Description
你最近购置了一块漂亮又宽阔的农场,现在你想围起一圈篱笆。你的农场里已经有 根篱笆桩。
你将会用直线段连接这些篱笆桩,形成篱笆。不幸的是,出于你并不完全理解的法律原因,你的律师坚持认为你必须用上所有的篱笆桩,否则会有麻烦。
在本题中,篱笆桩用平面上的点表示。你需要以某种顺序排列这些篱笆桩,然后依次连接第一个和第二个、第二个和第三个,最后将最后一个和第一个相连。你构建的篱笆段需要组成一个无自交的多边形。也就是说,每个篱笆桩只连接两段篱笆,且在其他任何点上都至多有一段篱笆通过。
做到这一步很容易,但你还希望尽可能保留农场的宽阔。你可不希望大部分农场被篱笆圈在外面。因此,你希望构建的篱笆所围成的面积,要大于你可以只用一部分桩时能围成的最大面积的一半。
Input Format
输入的第一行为测试用例数 。接下来有 组测试数据。每组数据第一行为篱笆桩数量 ,桩编号为 到 。接下来 行,每行两个整数 和 ,用一个空格分隔,表示第 个桩的坐标。
Output Format
对于每个测试用例,输出一行 "Case #x: ",其中 为测试用例编号(从 开始),后接 个 到 之间的互不相同的整数,用空格分隔。它们是你围篱笆时依次经过的桩的编号(顺时针或逆时针均可),首尾相连。
如果有多种方案,输出任意一种即可。
3
4
1 2
2 0
0 0
1 1
5
0 0
1 1
2 2
0 2
2 0
3
0 0
1 0
0 1
Case #1: 0 1 2 3
Case #2: 0 1 4 2 3
Case #3: 0 2 1
Hint
样例说明
第一个测试用例中,共有三种可以构成的多边形,其中两种面积足够大,分别是序列 0 1 2 3 和 0 2 1 3。序列 0 1 3 2 对应的多边形面积太小。第二个测试用例中,必须保证多边形不自交,例如 0 1 2 3 4 或 0 1 3 4 2 都是不合法的。第三个测试用例中,任意顺序都能得到同一个三角形,都是合法的。
限制条件
- 所有桩的位置互不相同,且不会全部共线。
小数据集(9 分,测试集 1 - 可见)
- 时间限制:
303 秒
大数据集(13 分,测试集 2 - 隐藏)
- 时间限制:
606 秒
翻译由 ChatGPT-4.1 完成。
京公网安备 11011102002149号