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 自动生成**