페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8036
서브태스크

평행하는 선분의 수 1s 1024MB

문제

2차원 평면에 서로 다른 N개의 점이 있다.

그중 두 개의 서로 다른 점을 최단거리로 연결하면 하나의 선분이 만들어진다.

그렇게 만들 수 있는 선분들 중 x축 또는 y축에 평행한 선분이 몇 개인지 출력하는 프로그램을 작성하시오.

여기서 평행하다는 의미는 기울기가 동일하다는 뜻으로 사용한다.


입력

첫 줄에 정수 N이 주어진다. (1 \le N \le 200,000)

이어 N줄에 걸쳐 각 점의 x좌표와 y좌표가 주어진다. (-10^9 \le x,y \le 10^9)


출력

첫 줄에 두 개의 서로 다른 점을 연결하여 만든 선분들 중 x축 또는 y축에 평행한 선분이 몇 개인지 출력한다.

힌트 : 정답이 32비트 정수 범위를 넘을 수 있으므로, C/C++에서는 long long, Java에서는 long과 같은 자료형을 사용하는 것을 권장한다.


부분문제

번호 점수 조건
#115점

1 \le N \le 2,000

#225점

-10^3 \le x,y \le 10^3

#360점

추가 제약 조건 없음


예제 #1

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

예제 #2

4
1 0
2 0
3 0
4 0
6


출처

klee

로그인해야 코드를 작성할 수 있어요.