지붕
시간 제한1초메모리 제한128 MB
직교 다각형 위에 세워지는 45도 스트레이트 스켈레톤 지붕의 최대 높이를 계산합니다.
- 난이도
어려움10점 중 9점
- 유형
- 기하
- 정답자
- 아직 제출이 없습니다
문제
새 집을 지으려고 한다. 지붕의 최소 건축 비용을 어림잡으려면 먼저 지붕의 높이를 알아야 한다. 가진 정보는 집의 외곽선뿐이므로, 이 외곽선으로부터 지붕의 높이를 계산해야 한다.
정확한 정의는 다음과 같다. 집의 외곽선은 모든 변이 좌표축에 평행한(수평 또는 수직) 직교 다각형이다. 이 다각형을 라 하고, 꼭짓점의 개수를 이라 하자.
직선 골격 는 가 줄어들 때 꼭짓점들이 남기는 자취다. 이때 각 변은 방향은 그대로 유지한 채 모두 같은 속도로 안쪽을 향해 움직인다. 그림 1의 (a)와 (b)는 각각 가 줄어드는 과정과 그렇게 얻어지는 를 보여 준다.

그림 1
이제 를 평면 위에 놓고, 단위 속도로 줄이는 동시에 단위 속도로 위쪽( 방향)으로 들어 올린다. 그러면 는 삼차원 다면체 곡면을 쓸고 지나가며, 이 곡면을 지형(terrain)이라 부른다. 는 바로 이 지형의 모서리를 평면에 정사영한 것이다. 정의에 의해 이 지형의 각 면은 평면과 이면각 를 이루는 평면 안에 놓이며, 각 면은 의 변을 적어도 하나 경계로 가진다. 이 지형을 의 지붕이라 하며, 그림 1의 (c)가 그 예다.
지붕 위의 한 점 의 높이는 그 고도, 즉 와 를 평면에 정사영한 점 사이의 거리다. 지붕의 높이는 지붕 위 모든 점의 높이 중 최댓값이다. 주어진 직교 다각형 의 지붕 높이를 구하여라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스의 첫째 줄에는 다각형 의 꼭짓점 개수 이 주어지며, 이다. 다음 줄에는 의 꼭짓점 개의 좌표가 반시계 방향 순서로 주어진다. 먼저 첫 번째 꼭짓점의 와 , 그다음 두 번째 꼭짓점의 와 순서이며, 이런 식으로 이어진다. 모든 값은 하나의 공백으로 구분되고, 각 좌표는 이상 이하의 정수다.
출력
각 테스트 케이스마다 의 지붕 높이를 정확히 한 줄에 출력한다. 소수점 아래 정확히 한 자리까지 출력한다.