만드는 중입니다

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

삼각형 구역

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

요약
세 점이 일직선 위에 있지 않은 N개의 점이 주어질 때, 다른 점을 정확히 v개 포함하는 삼각형의 개수를 각 v마다 센다.
난이도

어려움10점 중 8점

유형
기하, 조합론, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

한 농부가 현금을 마련하려고 자기 땅을 팔려고 한다. 땅에는 나무 NN그루가 서 있고, 각 나무는 좌표평면의 점 하나로 나타난다. 어떤 세 나무도 한 직선 위에 놓여 있지 않다.

농부는 서로 다른 세 나무를 꼭짓점으로 하는 삼각형 구역을 매물 후보로 삼는다. 그러므로 후보는 모두 (N3)\binom{N}{3}개다.

후보의 값은 꼭짓점을 뺀 삼각형 내부에 있는 나무의 개수 vv로 정한다. 세 나무가 한 직선 위에 놓이는 일이 없으니 삼각형의 변 위에 나무가 있는 경우도 없다. 00 이상 N−3N-3 이하인 모든 vv에 대해, 내부에 있는 나무가 정확히 vv그루인 삼각형 구역의 개수를 구하는 프로그램을 작성하시오.

입력

첫 줄에 나무의 개수 NN이 주어진다. (3≤N≤3003 \le N \le 300)

다음 NN개의 줄에 각 나무의 xx좌표와 yy좌표를 나타내는 두 정수가 공백으로 구분되어 주어진다. (0≤x,y≤1 000 0000 \le x, y \le 1\,000\,000)

어떤 세 나무도 한 직선 위에 놓여 있지 않다.

출력

N−2N-2개의 줄을 출력한다. ii번째 줄에는 내부에 있는 나무가 정확히 i−1i-1그루인 삼각형 구역의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    7
    3 6
    17 15
    13 15
    6 12
    9 1
    2 7
    10 19
    
    예상 출력
    28
    6
    1
    0
    0
    
  2. 예제 2

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