#P17369. [ECNA 2023] Convex Hull Extension
[ECNA 2023] Convex Hull Extension
题目描述
Hugh Klidd 博士是一位几何专家,最近沉迷于研究凸包。回顾一下:对于 - 平面上的一个点集,凸包是包含所有这些点的最小凸多边形。(凸多边形具有这样的性质:任取多边形内部或边界上的两点,连接它们的线段都完全位于多边形内部或边界上。)
Klidd 博士刚刚求出了点集 的凸包,记作 ,并且对结果十分满意:
- 凸包有 个顶点;
- 每个顶点的坐标都是整数;
- 凸包的任意三个顶点均不共线。
然而,Klidd 博士志向远大,他希望让这个凸包继续增长。具体来说,他正在寻找一个扩展点,即满足下列条件的点 :
- 和 都是整数;
- 令 ,则 的凸包 恰有 个顶点;
- 这 个顶点中任意三个均不共线。
换句话说,扩展点在保留凸包上述良好性质的同时,会使凸包的顶点数恰好增加 。对于大多数凸包 ,Klidd 博士通常至少能找到一个扩展点,但他想知道一共有多少个扩展点可供选择。他猜想存在一种高效的计数方法;然而他从未上过算法课,只好向你求助。
:::align{center}
:::
注:Klidd 博士此前恰好提出过四个公设,所以这是他的第五公设。
输入格式
第一行包含一个整数 ,表示 Klidd 博士最初得到的凸包的顶点数,其中 。
接下来 行,每行包含两个以空格分隔的整数 ,表示一个顶点的坐标,其中 。
这 个点互不相同,任意三点不共线,并按逆时针顺序给出。
输出格式
如果给定凸包的扩展点有无限多个,输出 infinitely many;否则输出扩展点的数量。
5
0 2
-2 0
-1 -3
1 -3
2 1
23
4
-7 -7
7 -7
7 7
-7 7
infinitely many