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

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

삼각형

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

요약
세 점이 일직선에 있지 않은 n개의 점이 주어질 때, 내부에 다른 점을 하나 이상 포함하는 삼각형의 개수를 센다.
난이도

보통10점 중 6점

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

문제

삼각형은 서로 다른 세 개의 꼭짓점을 가지며, 이 세 점이 한 직선 위에 있지 않은 단순 다각형이다. 평면 위의 점 집합 SS가 주어졌을 때, 삼각형이 SS와 충돌한다는 것은 SS에 속하면서 동시에 그 삼각형의 경계를 제외한 내부에 속하는 점이 하나 이상 존재한다는 뜻이다.

이제 SS는 평면 위의 nn개의 점으로 이루어진 집합이고, 이 중 어느 세 점도 한 직선 위에 있지 않다고 하자. TT를 SS의 점들 중에서 꼭짓점을 고른 모든 삼각형의 집합이라고 할 때, TT에 속한 삼각형 중 SS와 충돌하는 것은 몇 개인가?

TT에 속한 삼각형 중 SS와 충돌하는 삼각형의 개수를 출력하는 프로그램을 작성하라.

입력

입력은 표준 입력에서 읽는다. 첫 줄에는 정수 nn (3≤n≤5003 \le n \le 500)이 주어지는데, nn은 집합 SS에 속한 점의 개수이다. 다음 nn개의 줄에는 각각 두 정수가 주어지며, 각 정수는 −106-10^6과 10610^6 사이이고 집합 SS에 속한 각 점의 좌표를 나타낸다. 집합 SS의 어느 세 점도 한 직선 위에 있지 않음이 보장된다.

출력

출력은 표준 출력에 쓴다. 정확히 한 줄을 출력한다. 그 줄에는 집합 SS의 점들 중에서 꼭짓점을 고르고 집합 SS와 충돌하는 삼각형의 개수를 나타내는 정수를 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 1
    0 0
    2 3
    6 1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    6
    0 1
    2 0
    3 -2
    3 2
    7 1
    2 4
    
    예상 출력
    6