아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이등변삼각형

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

요약
세 점이 한 직선 위에 있지 않은 정수 좌표 점 N개가 주어질 때, 이등변삼각형을 이루는 세 점 조합의 수를 센다.
난이도

보통10점 중 6점

유형
기하, 해시맵, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

삼각형은 세 변의 길이에 따라 세 종류로 나눌 수 있다. 세 변의 길이가 모두 같으면 정삼각형, 세 변의 길이가 모두 다르면 부등변삼각형, 두 변의 길이는 같고 나머지 한 변의 길이만 다르면 이등변삼각형이다.

좌표가 모두 정수인 점들은 정삼각형의 꼭짓점이 될 수 없다는 사실이 알려져 있다.

XYXY 평면 위에 좌표가 모두 정수인 서로 다른 점들의 집합이 주어진다. 이 집합에서는 어떤 세 점도 한 직선 위에 있지 않다. 집합에서 세 점을 고르는 모든 방법 중, 고른 세 점이 이등변삼각형의 꼭짓점이 되는 경우가 몇 가지인지 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 집합에 속한 점의 개수 NN이 주어진다 (3≤N≤10003 \le N \le 1000). 다음 NN개의 줄에는 각 점의 좌표가 한 줄에 하나씩, 공백으로 구분된 두 정수 XX와 YY로 주어진다 (1≤X,Y≤1061 \le X, Y \le 10^6). 한 테스트 케이스 안에서 같은 위치에 있는 두 점은 없으며, 어떤 세 점도 한 직선 위에 있지 않다.

마지막 테스트 케이스 다음 줄에는 00 하나만 주어지며, 이는 입력의 끝을 나타낸다.

출력

각 테스트 케이스마다, 세 점을 골라 만들 수 있는 이등변삼각형의 개수를 한 줄에 하나의 정수로 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 2
    2 1
    2 2
    1 1
    1000 1000000
    6
    1000 1000
    996 1003
    996 997
    1003 996
    1003 1004
    992 1000
    0
    
    예상 출력
    4
    10