AT_ttpc2024_1_h Two Convex Sets
题目描述
在 $ xy $ 平面上,有一类集合被称为 **好的集合**,它的条件是:集合的凸包内部不包含集合中的任何点(空集默认算作好的集合)。
现有平面上 $ N $ 个不同的点 $ v_1, v_2, \dots, v_N $,每个点 $ v_i $ 的坐标为 $ (x_i, y_i) $。特别地,这些点中任何三个不同的点都不在同一条直线上。
请计算集合 $ V = \{ v_1, v_2, \dots, v_N \} $ 的所有子集 $ S $ 的数量,使得 $ S $ 和其补集 $ V \setminus S $ 均为好的集合。
输入格式
输入通过标准输入给出:
> $ N $
> $ x_1 \ y_1 $
> $ x_2 \ y_2 $
> $ \vdots $
> $ x_N \ y_N $
输出格式
输出满足条件的子集个数。
说明/提示
- 所有输入都是整数
- $ 1 \le N \le 40 $
- $ |x_i|, |y_i| \le 10^6 $
- 对于不同的 $ (i \neq j) $,有 $ (x_i, y_i) \neq (x_j, y_j) $
- 任意三个不同的点不在同一条直线上
### 样例解释
除了 $ \emptyset $ 和整体集合 $ V $ 之外,所有可能的 $ S $ 都满足题目条件。
**本翻译由 AI 自动生成**