#P14428. [JOISC 2014] 二人的星座 / Constellation 2

    ID: 16195 远端评测题 9000ms 256MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>计算几何2014极角排序JOISC/JOIST(日本)

[JOISC 2014] 二人的星座 / Constellation 2

题目描述

JOI 酱和 IOI 酱是亲密无间的好友。某日,她们决定在山顶的观景台上进行天文观测。

在观景台上,可以观测到 NN 颗星星。每颗星星被赋予从 11NN 的编号,并且每颗星星呈现红色、蓝色或黄色中的一种颜色。

在观景台上观测到的星星被表示为坐标平面上的点。在该坐标平面中,第 ii 颗星星(1iN1 \le i \le N)对应于点 Pi(Xi,Yi)P_i(X_i, Y_i)。坐标平面上的点 P1,,PNP_1, \dots, P_N 两两互不相同,且任意三点不共线。

JOI 酱和 IOI 酱决定创造一个名为 JOIOI 座 的星座。她们首先考虑用红色、蓝色、黄色各一颗星星构成一个三角形,称这样的三角形为“良好三角形”。

两人决定将满足以下条件的两组良好三角形(不考虑顺序)作为 JOIOI 座 的候选:

  • 两个良好三角形(包括三角形的边界和内部)没有公共点。也就是说,两个良好三角形既不重叠,也没有一个包含另一个的情况。

:::align{center}

左图:满足条件的样例
右图:不满足条件的样例 :::

JOI 酱和 IOI 酱决定统计可以作为 JOIOI 座 候选的方案总数。需要注意的是,即使构成 JOIOI 座 候选的 6 颗星星完全相同,只要构成“良好三角形”的连接方式不同,就将它们视为不同的候选方案进行计数。

问题

给定在观景台上观测到的星星信息,编写一个程序,输出 JOIOI 座 候选方案的总数。

输入格式

从标准输入读取以下数据:

  • 第 1 行包含一个整数 NN,表示在观景台上观测到的星星数量。
  • 接下来的 NN 行中的第 ii 行(1iN1 \le i \le N)包含三个整数 Xi,Yi,CiX_i, Y_i, C_i,以空格分隔。这表示第 ii 颗星星的坐标为 Pi(Xi,Yi)P_i(X_i, Y_i),而 CiC_i 表示第 ii 颗星星的颜色:若 Ci=0C_i = 0,则为红色;若 Ci=1C_i = 1,则为蓝色;若 Ci=2C_i = 2,则为黄色。

输出格式

在标准输出上,输出一个整数,表示 JOIOI 座 候选方案的总数,占一行。

7
0 0 0
2 0 1
1 2 2
-2 1 0
-2 -3 0
0 -2 1
2 -2 2
4
8
16 0 0
17 0 0
0 7 2
0 -7 2
-1 -1 1
-1 1 2
-6 4 1
-6 -4 1
12
21
1 20 0
4 20 0
0 22 0
5 22 0
6 25 0
8 25 0
4 26 0
11 11 1
7 12 1
14 13 1
8 15 1
15 16 1
11 17 1
18 0 2
13 2 2
16 2 2
19 4 2
18 6 2
21 8 2
24 8 2
19 10 2
7748

提示

样例 1 解释

在该输入示例中,星星的分布如图所示。图中,红色星星用圆形表示,蓝色星星用菱形表示,黄色星星用三角形表示。

:::align{center} :::

在该输入示例中,JOIOI 座 的候选方案共有以下 4 种。

:::align{center} :::

数据范围

所有输入数据均满足以下条件:

  • 6N30006 \le N \le 3\,000
  • 100000Xi100000-100\,000 \le X_i \le 100\,000
  • 100000Yi100000-100\,000 \le Y_i \le 100\,000
  • 0Ci20 \le C_i \le 2
  • 每种颜色的星星至少存在一颗
  • PiPjP_i \ne P_j(对所有 1i<jN1 \le i < j \le N
  • Pi,Pj,PkP_i, P_j, P_k 不共线(对所有 1i<j<kN1 \le i < j < k \le N

子任务

子任务 1 [15 分]

  • 满足 N30N \le 30

子任务 2 [40 分]

  • 满足 N300N \le 300

子任务 3 [45 分]

无额外限制。

翻译由 Qwen3-235B 完成