단풍나무 리본 두르기
면접 대비시간 제한1초메모리 제한128 MB
최대 99개의 점이 주어질 때, 오른쪽으로 가장 작은 각도만큼 회전하며 이동해 볼록 껍질을 구하고 그 둘레를 소수점 둘째 자리까지 출력한다.
문제

엘마이라(Elmira) 지역의 한 메이플 시럽 생산자가 올해 캐나다 제과 경연 대회(CCC, Canadian Confectionery Competition)의 우승자로 선정되었다. 심사위원은 이 생산자의 단풍나무 숨(설탕단풍 군락) 둘레에 파란 리본을 두르려고 한다.
리본을 두르는 방법은 다음과 같다. 먼저 가장 북쪽에 있는 나무를 찾는다(가장 북쪽에 있는 나무가 여러 그루라면 그중 아무거나 한 그루를 고른다). 그 나무의 위치에 서서 정동쪽(동쪽)을 바라본다. 그런 다음 다른 나무가 정면에 보일 때까지 오른쪽으로 몸을 돌린 뒤, 그 나무까지 직선으로 걸어가며 거리를 잴다. 도착하면 다시 어떤 나무가 정면에 보일 때까지 오른쪽으로 돌아 그 나무로 걸어간다. 매 단계에서 오른쪽으로 돌는 각도가 가장 작은 나무를 선택하며, 처음 출발한 나무로 되돌아올 때까지 이 과정을 반복한다.
이렇게 이동한 총 거리가 필요한 리본의 길이다. 이 과정에서 리본은 모든 나무를 감싸는 바깥 둘레를 그리게 된다. 주어진 나무들에 대해 필요한 리본의 길이를 구하라.
입력
첫 번째 줄에는 데이터 집합의 개수인 정수 이 주어진다. 각 데이터 집합의 첫 줄에는 숨에 있는 나무의 수를 나타내는 정수 ()이 주어지고, 이어서 개의 줄이 주어진다. 각 줄에는 한 나무의 위치를 나타내는 두 정수 와 가 순서쌍으로 주어진다. 축은 북쪽을, 축은 동쪽을 가리킨다.
출력
각 데이터 집합마다 모든 나무를 감싸는 리본의 길이를 소수점 아래 둘째 자리까지 반올림하여 한 줄에 출력한다.