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 翻译