직각삼각형

시간 제한5초메모리 제한256 MB

요약
평면 위에 주어진 최대 1500개의 서로 다른 점 중 세 점을 골라 만든 삼각형 중 직각삼각형의 개수를 구합니다.
난이도

어려움10점 중 8점

유형
기하, 수학, 정렬, 조합론
정답자
아직 제출이 없습니다

문제

2차원 평면에 서로 다른 N개의 점이 주어진다. 이 점들 중 서로 다른 세 점을 골라 삼각형을 만들 때, 직각삼각형이 되는 경우의 수를 구하시오.

입력

첫째 줄에 점의 개수 N이 주어진다. (3 <= N <= 1,500)

둘째 줄부터 N개의 줄에는 각 점의 x좌표와 y좌표가 공백으로 구분되어 주어진다. 모든 좌표는 절댓값이 1,000,000,000 이하인 정수이며, 같은 좌표를 가진 두 점은 주어지지 않는다.

출력

주어진 점들로 만들 수 있는 직각삼각형의 개수를 첫째 줄에 출력한다.

예제1

  1. 예제 1

    입력
    5
    -1 1
    -1 0
    0 0
    1 0
    1 1
    
    예상 출력
    7