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

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

소풍

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

요약
점이 최대 99개 주어질 때, 꼭짓점이 점이고 내부에 다른 점이 없는 가장 넓은 볼록 다각형을 찾는다.
난이도

어려움10점 중 8점

유형
기하, 동적 계획법, 정렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

내일 회사의 연례 소풍이 Gloomwood 공원에서 열린다. 준비를 맡은 사람은 모두가 서로를 바라볼 수 있는 자리를 원한다. 그러려면 고른 영역이 볼록(convex) 해야 한다. 즉, 영역 안의 임의의 두 점을 잇는 선분이 영역 안에 완전히 포함되어야 한다.

공원에는 큰 나무나 바위처럼 시야를 가리는 불투명한 장애물이 많다. 각 장애물은 크기가 없는 하나의 점으로 본다. 영역은 몇몇 장애물을 감싸도록 리본을 둘러 표시하므로, 영역의 꼭짓점은 모두 장애물이다. 모두가 서로를 볼 수 있으려면 어떤 장애물도 영역 내부에 놓여서는 안 된다(경계 위에 있는 장애물은 허용된다).

꼭짓점이 모두 장애물이고 내부에 어떤 장애물도 포함하지 않는 볼록 다각형 중에서 넓이가 가장 큰 것을 찾아라.

위에서 내려다본 공원. 검은 점은 장애물이고, 점선은 소풍 영역이다.

입력

첫 줄에 시나리오의 수 nn(양의 정수)이 주어진다.

각 시나리오는 두 줄로 이루어진다. 첫 줄에는 장애물의 수 mm (2<m<1002 < m < 100)이 주어진다. 둘째 줄에는 장애물의 좌표가 x1 y1 x2 y2 … xm ymx_1\ y_1\ x_2\ y_2\ \dots\ x_m\ y_m 순서로 주어진다. 모든 좌표는 [0,1000][0, 1000] 범위의 정수다. 각 시나리오에는 한 직선 위에 있지 않은 장애물이 적어도 셋 있으며, 좌표가 같은 두 장애물은 없다.

출력

각 시나리오마다, 꼭짓점이 모두 장애물이고 내부에 장애물을 포함하지 않는 가장 큰 볼록 다각형의 넓이를 소수점 아래 한 자리까지 한 줄에 출력한다.

예제4

  1. 예제 1

    입력
    1
    11
    3 3 8 4 12 2 22 3 23 5 24 7 27 12 18 12 13 13 6 10 9 6
    
    예상 출력
    129.0
    
  2. 예제 2

    입력
    1
    3
    0 0 4 0 0 3
    
    예상 출력
    6.0
    
  3. 예제 3

    입력
    1
    5
    0 0 10 0 10 10 0 10 5 5
    
    예상 출력
    50.0
    
  4. 예제 4

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