#P13721. [GCPC 2024] Fair Fruitcake Fragmenting
[GCPC 2024] Fair Fruitcake Fragmenting
Description
Frida 的生日快到了,作为她最好的朋友,你当然为她烤了一个蛋糕。 你知道 Frida 喜欢旋转对称,所以你打算烤一个从上方看起来在旋转 后依然相同的蛋糕。 当然,你本可以简单地烤一个普通的圆形蛋糕,但没有一个完美的圆形蛋糕模具,这听起来比做起来要容易。 因此,你决定烤一个可以用直线段描述形状的蛋糕。

:::align{center}
图 F.1:样例输入 2 的可视化。像 S 形的蛋糕可以用一刀分成红色和蓝色两部分。
:::
然而,在你完成蛋糕后,你发现你还想把蛋糕切成两等份,一份给 Frida,一份给你自己。 更准确地说,你想知道是否可以沿着一条无限长的直线将蛋糕精确地分成两部分,每部分的重量相等。 你可以假设蛋糕的密度和高度都是均匀的。
Input Format
输入包括:
- 一行包含一个偶数整数 (),表示描述蛋糕形状所需的点的数量。
- 接下来的 行,每行包含两个整数 、(),表示蛋糕边界上一点的 和 坐标。
关于蛋糕形状,给出以下额外保证:
- 蛋糕具有 旋转对称性。
- 点按逆时针顺序给出。
- 任意三个连续的点不共线。
- 形状是简单多边形(没有线段相交,只有相邻线段在端点处相接)。
Output Format
输出所需直线上的两个不同点,格式为 ,其中 、、 和 均为整数且不超过 , 表示第 个点的第一个坐标, 表示第二个坐标()。如果某个分数的分母为 ,你可以只输出分子。分数不需要约分。如果不存在这样的直线,输出“impossible”。
可以证明,如果存在所需的直线,则一定可以用上述格式表示。
4
0 0
2 0
2 2
0 2
1 1 1337/42 3141/1000
20
7 1
8 2
8 5
7 6
4 6
4 4
3 4
3 7
6 7
7 8
2 8
1 7
1 4
2 3
5 3
5 5
6 5
6 2
3 2
2 1
11 13 -2 -4
10
11 5
10 2
12 6
2 2
7 3
1 1
2 4
0 0
10 4
5 3
impossible
Hint
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号