AT_abc033_d [ABC033D] 三角形の分類
题目描述
在二维平面上给定 $N$ 个点。第 $i$ 个点的坐标为 $(x_i,\ y_i)$。此外,任意三个点都不共线。
我们考虑从 $N$ 个点中选出 $3$ 个点,以这 $3$ 个点为顶点构成一个三角形。总共可以构成 $N\ *\ (N\ -\ 1)\ *\ (N\ -\ 2)\ /\ 6$ 个三角形。请分别求出这些三角形中锐角三角形、直角三角形和钝角三角形的个数。
其中,锐角三角形是指三个角都小于 $90^\circ$ 的三角形,直角三角形是指存在一个角等于 $90^\circ$ 的三角形,钝角三角形是指存在一个角大于 $90^\circ$ 的三角形。
输入格式
输入以如下格式从标准输入读入。
> $N$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_N$ $y_N$
- 第 $1$ 行为一个整数 $N\ (3\leq N\leq 2,000)$,表示点的个数。
- 接下来的 $N$ 行,每行包含两个用空格分隔的整数 $x_i\ (-10,000\leq x_i\leq 10,000)$、$y_i\ (-10,000\leq y_i\leq 10,000)$,表示第 $i$ 个点的坐标。
- $N$ 个点均不相同。
- 任意 $3$ 个不同的点都不共线。
输出格式
请按顺序输出锐角三角形的个数、直角三角形的个数、钝角三角形的个数,用空格分隔,并以换行符结尾。
说明/提示
## 部分分
本题设有部分分。
- 对于 $N\leq 100$ 的数据集,答对可获得部分分 $30$ 分。
## 样例解释 1
- 选择第 $2$、$4$、$5$ 个点,可以构成一个锐角三角形。
- 选择第 $1$、$4$、$5$ 个点,可以构成一个直角三角形。
- 选择第 $3$、$4$、$5$ 个点,可以构成一个直角三角形。
- 其余 $7$ 种选择方式,均可构成钝角三角形。
由 ChatGPT 4.1 翻译