외곽 껍질과 내부 껍질 사이의 면적
시간 제한5초메모리 제한128 MB
최대 1000개 점에 대해 볼록 껍질을 두 번 구하고 모서리 정점을 제외한 뒤 두 다각형의 면적 차이를 출력합니다.
문제
평면 위의 점 개로 이루어진 집합 이 주어진다.
의 외곽 껍질 는 의 볼록 껍질이다. 의 모든 점을 내부나 경계에 포함하는 면적이 가장 작은 볼록 다각형을 라 하면, 는 의 점 중에서 의 꼭짓점이 되는 점만 모은 집합이다. 의 경계 위에 있어도 꼭짓점이 아닌 점은 에 속하지 않는다.
의 내부 껍질 는 에서 의 점을 모두 빼고 남은 집합 의 볼록 껍질이다.
구할 값은 가 둘러싼 면적에서 가 둘러싼 면적을 뺀 값이다.
꼭짓점이 3개보다 적은 껍질이나 모든 점이 한 직선 위에 놓인 껍질은 다각형을 이루지 못하므로 면적을 0으로 본다. 의 모든 점이 한 직선 위에 있으면 두 껍질의 면적이 모두 0이고 답도 0이다.

점 8개로 이루어진 집합 가 , , , , , , , 인 경우를 보자. 외곽 껍질은 이다. 는 선분 위에 있지만 꼭짓점이 아니어서 빠진다. 에서 를 빼면 이고, 이 집합의 볼록 껍질인 내부 껍질은 이다. 의 면적은 12.5, 의 면적은 6.0이므로 두 껍질 사이의 면적은 이다.
입력
입력은 문제 집합 여러 개로 이루어진다.
각 문제 집합의 첫 줄에는 문제 식별자와 점의 개수 이 공백 하나로 구분되어 주어진다. 문제 식별자는 공백이 없는 길이 10 이하의 문자열이고, 이다. 이어지는 개의 줄에는 점 하나의 좌표와 좌표가 공백 하나로 구분되어 주어진다. 각 좌표는 소수점 아래 한 자리까지 주어지는 실수이고 절댓값이 100.0 이하이다. 한 문제 집합 안에서 같은 점이 두 번 주어지지는 않는다.
다음 문제 집합은 바로 이어서 주어진다. 문제 식별자가 ZZ이고 이 0인 줄이 입력의 끝을 나타낸다. 문제 집합은 100개 이하이다.
출력
각 문제 집합마다 ProblemID id: area 꼴로 한 줄씩 출력한다. id는 입력으로 주어진 문제 식별자이고, area는 외곽 껍질과 내부 껍질 사이의 면적이다. 면적은 소수점 아래 넷째 자리까지 출력한다.
좌표가 소수점 아래 한 자리까지만 주어지므로 답은 항상 0.005의 배수이다. 반올림이 갈리는 경우는 생기지 않는다.