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

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

가장 큰 울타리

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

요약
세 점이 한 직선 위에 있지 않은 N개의 격자 점이 주어질 때, 볼록 다각형의 꼭짓점이 되는 가장 큰 부분집합의 크기를 구한다.
난이도

어려움10점 중 9점

유형
기하, 동적 계획법, 정렬, 조합론
정답자
아직 제출이 없습니다

문제

한 농부가 보기 좋은 울타리를 세우려고 울타리 기둥 NN개를 샀다. 가장 멋진 울타리는 기둥들을 꼭짓점으로 하는 볼록 다각형이다.

밭은 격자판으로 나타내며, ii번 기둥은 정수 좌표 (xi,yi)(x_i, y_i)에 있다. 이때 1≤xi≤10001 \le x_i \le 1000, 1≤yi≤10001 \le y_i \le 1000이다. 모든 기둥의 위치는 서로 다르며, 어떤 세 기둥도 한 직선 위에 있지 않다.

기둥들 중 일부를 골라 하나의 볼록 다각형의 꼭짓점으로 삼되, 고른 모든 기둥이 그 다각형의 꼭짓점이 되도록 하려고 한다. 이러한 볼록 다각형이 사용할 수 있는 기둥의 최대 개수는 얼마인가?

제한

  • 5≤N≤2505 \le N \le 250
  • 1≤xi,yi≤10001 \le x_i, y_i \le 1000
  • 어떤 세 기둥도 일직선 위에 있지 않다.

입력

  • 첫째 줄에 정수 NN이 주어진다.
  • 다음 NN개의 줄에 각각 ii번 기둥의 좌표를 나타내는 두 정수 xix_i와 yiy_i가 공백으로 구분되어 주어진다.

출력

  • 볼록 다각형의 꼭짓점을 이룰 수 있는 기둥의 최대 개수를 정수 하나로 출력한다.

힌트

예제에서 가장 큰 볼록 다각형은 꼭짓점이 (2,3)(2,3), (3,2)(3,2), (5,1)(5,1), (5,5)(5,5), (1,5)(1,5)인 오각형이다. 남은 기둥 (1,1)(1,1)을 추가하면 볼록성이 깨지므로 정답은 55이다.

예제3

  1. 예제 1

    입력
    6
    5 5
    2 3
    3 2
    1 5
    5 1
    1 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    5
    3 1
    6 3
    5 7
    2 7
    1 3
    
    예상 출력
    5
    
  3. 예제 3

    입력
    5
    1 1
    1 11
    11 11
    11 1
    4 6
    
    예상 출력
    4