볼록 껍질의 표면적
시간 제한1초메모리 제한128 MB
3차원 공간의 점을 최대 25개 주어질 때, 삼각형 면으로 이루어진 볼록 껍질의 겉넓이를 구해 반올림한 정수를 출력한다.
문제
어떤 3차원 도형이 볼록(convex)하다는 것은, 도형 내부의 임의의 두 점을 잇는 선분이 항상 그 도형 안에 완전히 포함된다는 뜻이다. 3차원 공간의 점 집합 에 대해, 의 볼록 껍질(convex hull)은 의 모든 점을 포함하는 가장 작은 볼록 도형이다.
예를 들어 이라고 하자. 의 볼록 껍질은 의 네 점을 꼭짓점으로 하는 사면체이다. 이 사면체는 점 을 포함하므로, 을 에 추가해도 볼록 껍질은 변하지 않는다.
가 주어질 때, 그 볼록 껍질의 표면적을 구하여 가장 가까운 정수로 반올림한 값을 구하라.
참고: 볼록 껍질의 모든 면은 다각형이다. 이 문제에서는 볼록 껍질의 한 면 위에 놓이는 의 점이 최대 개라고 가정해도 된다(즉, 모든 면은 삼각형이다).
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 점의 개수를 나타내는 정수 ()으로 시작한다. 이어지는 개의 줄에는 각각 한 점의 , , 좌표를 나타내는 정수 세 개가 주어진다. 모든 좌표는 을 만족한다.
입력의 끝은 인 줄로 표시되며, 이 케이스는 처리하지 않는다.
출력
각 테스트 케이스마다 볼록 껍질의 표면적을 가장 가까운 정수로 반올림하여 한 줄에 출력한다(예: 는 로, 는 으로 반올림된다).
힌트
반올림 오차로 인한 모호함을 피하기 위해, 모든 정답은 반올림 경계에서 최소 이상 떨어지도록 테스트 데이터가 구성되어 있다(예를 들어 표면적이 정확히 인 경우는 없다).