직각삼각형 세기

면접 대비

시간 제한1초메모리 제한128 MB

요약
N개의 점 중 x좌표가 같은 점과 y좌표가 같은 점을 각각 가진 직각 정점을 이용해 축에 평행한 직각삼각형의 개수를 구합니다.
난이도

보통10점 중 5점

유형
해시맵, 수학, 조합론
정답자
아직 제출이 없습니다

문제

좌표 평면 위에 서로 다른 점 N개가 주어진다.

세 점을 골라 직각삼각형을 만들려고 한다. 이때 직각을 이루는 두 변은 각각 좌표축에 평행해야 한다. 다시 말해, 빗변이 아닌 두 변이 x축 또는 y축과 평행한 직각삼각형만 센다.

조건을 만족하는 세 점을 고르는 방법의 수를 구하라. 세 점을 고르는 순서는 구분하지 않는다.

입력

첫째 줄에 점의 개수 N이 주어진다.

둘째 줄부터 N개의 줄에 각 점의 좌표 X Y가 공백으로 구분되어 주어진다.

  • 3 <= N <= 100,000
  • 1 <= X, Y <= 100,000
  • 같은 좌표를 가진 점은 두 번 주어지지 않는다.

출력

조건을 만족하는 직각삼각형의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    3
    4 2
    2 1
    1 3
    
    예상 출력
    0
    
  2. 예제 2

    입력
    5
    1 2
    2 1
    2 2
    2 3
    3 2
    
    예상 출력
    4
    
  3. 예제 3

    입력
    6
    10 10
    20 10
    10 20
    20 20
    30 20
    30 30
    
    예상 출력
    8