만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

예각 삼각형

면접 대비

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

요약
정수 좌표의 점 N개(N은 200 이하)로 만들 수 있는 예각삼각형의 개수를 구하고, 그중 서로 합동이 아닌 삼각형의 개수를 구합니다.
난이도

보통10점 중 5점

유형
기하, 정렬, 해시맵
정답자
아직 제출이 없습니다

문제

삼각형은 평면에서 서로 다른 세 점을 잇는 선분으로 둘러싸인 부분(경계 포함)이다. 이 선분들이 삼각형의 변이다. 두 삼각형이 같은 점들로 이루어져 있으면 같다고 한다. 한 삼각형을 평행 이동, 회전, 대칭 이동 중 하나로 다른 삼각형에 옮길 수 있으면 두 삼각형은 합동이다. 초등 기하에서 배우는 합동 조건은 KKK, KNK, NKN이다. 여기서 K는 변, N은 각을 뜻한다. 즉 세 변이 각각 같은 경우, 두 변과 그 사이 각이 같은 경우, 한 변과 그 양 끝 각이 같은 경우이다. 모든 내각이 예각인 삼각형을 예각 삼각형이라고 한다.

NN개의 점 좌표를 입력받아 다음을 구하는 프로그램을 작성하라.

  1. 주어진 점들을 꼭짓점으로 하는 서로 다른(서로 같지 않은) 예각 삼각형은 모두 몇 개인가?
  2. 주어진 점들을 꼭짓점으로 하는 서로 합동이 아닌 예각 삼각형은 모두 몇 개인가?

입력

입력의 첫 줄에 점의 개수 NN (3≤N≤2003 \le N \le 200)이 주어진다. 다음 NN개의 줄에는 각각 공백으로 구분된 정수 XX와 YY (0≤X≤1000 \le X \le 100, 0≤Y≤1000 \le Y \le 100)가 주어지며, 이는 한 점의 좌표이다. 점들은 모두 서로 다르다고 가정해도 된다.

출력

출력의 첫 줄에 서로 다른 예각 삼각형의 총 개수를 출력한다. 둘째 줄에는 서로 합동이 아닌 예각 삼각형의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    5
    0 0
    2 0
    4 0
    1 2
    3 2
    
    예상 출력
    5
    2