#P005755. 三角形统计

三角形统计

题目描述

在平面上有 NN 个点,他们的编号为 1N1 \sim N,其中第 ii 个点在平面上的坐标为 (xi,yi)(x_i, y_i),且满足任意两个点的坐标互不相同

请从给定的 NN 个点中,找出三个点,使得三个点满足如下条件:

  • 三个点恰好能构成直角三角形
  • 该三角形的一条边平行于 xx 轴,另一条边,平行于 yy 轴。

若两个三角形由完全相同的三个点组成,则认为它们相同;否则认为不同。

请统计出,符合上述条件的不同的三角形,一共有多少个?

输入格式

11 行读入整数 NN

接下来 NN 行,读入 NN 个点在平面中的坐标,第 ii 行读入 (xi,yi)(x_i, y_i)

输出格式

输出一个整数,表示符合题目要求的不同三角形的个数。

样例 #1

输入

4
1 1
1 2
1 3
2 1

输出

2

样例 #2

输入

5
1 1
2 1
3 1
4 1
-1 2

输出

0

样例 #3

输入

15
2 -2
3 8
-2 8
7 7
2 1
-9 -3
-4 10
-8 -4
10 4
-9 0
-6 -2
8 0
-3 -6
-6 -3
5 2

输出

5

样例说明

样例 1 解释

输入的 4 个点分别为:(1,1), (1,2), (1,3), (2,1)。

以 (1,1) 为直角点,可与以下两组点组成直角三角形:

  • (1,1), (1,2), (2,1)
  • (1,1), (1,3), (2,1)

共可以构成 2 个不同的直角三角形,因此输出为 2。

样例 2 解释

输入的 5 个点为:(1,1), (2,1), (3,1), (4,1), (-1,2)。

观察所有点可知:本样例中无法构成任何符合要求的直角三角形,输出为 0。

数据范围

对于 100%100\% 的测试数据,满足 1N1051 \le N \le 10^5105xi,yi105-10^5 \le x_i, y_i \le 10^5,且所有点的坐标互不相等。

测试点编号 NN xi,yix_i, y_i 特殊性质
121 \sim 2 N=3N = 3 0xi,yi1050 \le x_i, y_i \le 10^5
343 \sim 4 N100N \le 100 A
565 \sim 6 B
7107 \sim 10
1111 N105N \le 10^5 105xi,yi105-10^5 \le x_i, y_i \le 10^5 A
1212 B
132013 \sim 20

特殊性质 A:保证读入的 NN 个点,其中第 1N11 \sim N-1 个点的 xx 坐标相同,且和第 NN 个点的 xx 不同,样例 11 满足该性质。

特殊性质 B:保证读入的 NN 个点,其中第 1N11 \sim N-1 个点的 yy 坐标相同,且和第 NN 个点的 yy 不同,样例 22 满足该性质。