CF1163C2 Power Transmission (Hard Edition)
题目描述
本题与前一题相同,但数据范围更大。
某个星期天早晨,三位朋友 Selena、Shiro 和 Katie 决定去附近的发电站游玩(请勿模仿)。到达发电站后,这三只猫被由许多烟囱、电线杆和电线组成的大型输电系统所震撼。由于它们是猫,这些东西在它们眼中显得非常巨大。
在发电站入口处,有一张描述复杂布线系统的地图。Selena 是三位朋友中数学最好的。他决定将这张地图画在笛卡尔平面上。每根电线杆现在是平面上的一个点,坐标为 $ (x_i, y_i) $。由于每根电线杆都不同,所有代表这些电线杆的点都是不同的。此外,每两根电线杆之间都由一根电线相连。电线在平面上是一条无限延伸的直线。如果有多于两根电线杆共线,它们只通过一根公共电线相连。
Selena 认为,每当两根不同的电线相交时,可能会相互干扰并造成损坏。因此,他想知道,有多少对电线是相交的?你能帮他解决这个问题吗?
输入格式
第一行包含一个整数 $ n $($ 2 \le n \le 1000 $),表示电线杆的数量。
接下来的 $ n $ 行,每行包含两个整数 $ x_i, y_i $($ -10^4 \le x_i, y_i \le 10^4 $),表示每根电线杆的坐标。
保证所有 $ n $ 个点都是不同的。
输出格式
输出一个整数,表示有多少对电线是相交的。
说明/提示
在第一个样例中:

在第二个样例中:

注意,三根电线杆 $ (0, 0) $、$ (0, 2) $ 和 $ (0, 4) $ 由一根公共电线相连。
在第三个样例中:

由 ChatGPT 4.1 翻译