CF372E Drawing Circles is Fun
题目描述
平面上有一组点 $S$。该集合不包含原点 $O(0,0)$,并且对于集合中任意两个不同的点 $A$ 和 $B$,三角形 $OAB$ 的面积严格大于零。
考虑一组点对 $(P_{1},P_{2}),(P_{3},P_{4}),\ldots,(P_{2k-1},P_{2k})$。当且仅当满足下列条件时,我们称这一组点对为“好”的(good):
- $k\geq 2$。
- 所有 $P_{i}$ 互不相同,且每个 $P_{i}$ 都属于 $S$。
- 对于任意两对 $(P_{2i-1},P_{2i})$ 和 $(P_{2j-1},P_{2j})$,三角形 $OP_{2i-1}P_{2j-1}$ 与 $OP_{2i}P_{2j}$ 的外接圆仅有一个公共点,且三角形 $OP_{2i-1}P_{2j}$ 与 $OP_{2i}P_{2j-1}$ 的外接圆仅有一个公共点。
请计算“好”的点对集合的数量,对 $1000000007$($10^{9}+7$)取模。
输入格式
第一行包含一个整数 $n$,表示 $S$ 中的点的数量,$1\leq n\leq 1000$。接下来的 $n$ 行,每行包含四个整数 $a_{i},b_{i},c_{i},d_{i}$,$0\leq |a_{i}|,|c_{i}|\leq 50$,$1\leq b_{i},d_{i}\leq 50$,且 $(a_{i},c_{i})\neq (0,0)$。这些整数表示点 $\left(\frac{a_{i}}{b_{i}},\frac{c_{i}}{d_{i}}\right)$ 的坐标。
保证没有两个点重合。
输出格式
输出一个整数,表示满足条件的“好”的点对集合数量,对 $1000000007$ 取模。
说明/提示
由 ChatGPT 5 翻译