만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

폭풍 속의 Screamers

시간 제한2초메모리 제한512 MB

요약
직교 다각형 지붕 위의 두 점이 주어질 때, 경사진 지붕 면을 따라 이동하는 최단 경로의 길이를 구합니다.
난이도

어려움10점 중 10점

유형
기하, 최단 경로, 시뮬레이션
정답자
아직 제출이 없습니다

문제

도시에서 매일 보는 "흔한" 비둘기의 정식 이름이 "rock pigeon" 또는 "rock dove"라는 사실은 잘 알려져 있지 않다. 바위비둘기 Rocky Dave는 록 음악과 비둘기, 그리고 그와 관련된 모든 것에 관심이 많은 어린 암컷 바위비둘기 Columba Livia를 사랑한다. 어느 맑은 가을 오후, 두 마리가 도시 외곽의 같은 건물 지붕 위에 앉아 있는 것을 우연히 보게 된다.

Rocky Dave는 자신감 넘치는 걸음걸이를 뽐내고 싶어서 지붕 위를 날아가는 대신 걸어서 연인에게 다가가기로 한다. 이 지붕은 현대식 평지붕이 아니라 경사면으로 이루어진 고전적인 지붕이다. 건물은 여러 개의 작은 건물이 이어져 있어서 평면도가 다소 복잡하다. Dave가 따라가려는 "직선"은 위에서 볼 때만 곧게 보인다. Dave는 경사면을 올라 용마루를 넘고, 반대편으로 내려가 지붕 골짜기에 들어간 뒤 다시 올라가야 할 수도 있다.

건물의 정확한 평면도, 경사면의 각도(모든 경사면의 각도는 같다), 그리고 지붕 위에서 두 마리의 처음 위치를 알고 있다. Columba Livia는 Rocky Dave가 도착하기 전까지 자리를 떠나지 않는다고 가정할 때, 이 정보를 바탕으로 Rocky Dave가 이동한 정확한 거리를 구하라.

이동 경로가 건물의 경계를 벗어나는 경우, Dave는 다음과 같이 움직인다. 지붕 가장자리의 빗물받이에 닿으면, 같은 높이를 유지한 채 Columba Livia 방향으로 곧장 날아간다. 건물의 다른 쪽 빗물받이에 닿으면 그곳에서부터 다시 걸어서 이동한다.

상황을 명확하게 하기 위해 지붕의 기하학적 모델을 제시한다. Z를 x-y 평면 위의 단순 다각형이라고 하자. 단순 다각형이란 경계가 자기 자신과 닿거나 교차하지 않는 닫힌 곡선인 다각형이다. 허용 피라미드는 밑면이 x-y 평면에서 축에 평행한 정사각형이고, 꼭짓점이 밑면 중심의 바로 위에 있는 피라미드이다. 피라미드의 높이는 밑면 한 변 길이의 정확히 절반이다. 허용 피라미드의 밑면 어떤 부분도 Z 밖에 놓이지 않는다. 허용 피라미드는 밑면 한 변의 길이와 높이가 0일 수도 있으며, 이 경우 하나의 점으로 이루어지고 그 점이 곧 꼭짓점이다.

x-y 평면 위 또는 그 위쪽의 점 X가 Z의 지붕 위의 점인 것은, X가 허용 피라미드의 꼭짓점이고 X의 바로 위에 있는 점이 허용 피라미드의 꼭짓점이 아닐 때에만 성립한다.

입력

첫 줄에는 다섯 개의 정수가 주어진다. 첫 번째 정수 N(4 ≤ N ≤ 400)은 건물 평면도의 변으로 이루어진 다각형의 꼭짓점 개수이다. 이어서 Rocky Dave의 x, y 좌표와 Columba Livia의 x, y 좌표가 주어진다.

다음 N개의 줄에는 각각 꼭짓점 하나의 x, y 좌표가 주어진다. 꼭짓점은 반시계 방향 순서로 나열되어 있다. 건물의 모든 변은 좌표축 중 하나와 평행하다.

두 마리 비둘기 모두 주어진 다각형의 바깥에 있지 않다. 입력의 모든 좌표는 절댓값이 10510^5 이하인 정수이다.

출력

Rocky Dave가 이동한 거리를 출력한다. 답은 절대 오차 또는 상대 오차가 10−710^{-7}보다 작아야 한다.

힌트

그림 1: 첫 번째와 두 번째 입력 예시를 나타낸 그림.

예제2

  1. 예제 1

    입력
    4 3 0 3 4
    0 0
    4 0
    4 4
    0 4
    
    예상 출력
    4.828427124746
    
  2. 예제 2

    입력
    6 1 1 5 5
    0 0
    2 0
    2 4
    6 4
    6 6
    0 6
    
    예상 출력
    6.292528739884