만드는 중입니다

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

카를의 휴가

시간 제한1초메모리 제한1024 MB

요약
두 정사각뿔의 꼭짓점 사이를 옆면과 바닥 평면 위로만 걸어갈 때의 최단 거리를 구합니다.
난이도

어려움10점 중 8점

유형
기하, 최단 경로, 수학
정답자
아직 제출이 없습니다

문제

개미 카를이 돌아왔다. 구불구불한 길을 지나고(A번 문제, 2004 World Finals) 팔면체 위를 떠돈(C번 문제, 2009 World Finals) 뒤에는 이제 짧은 휴가를 떠날 차례다. 경치를 구경하자! 명소를 보기에 피라미드 같은 높은 구조물의 꼭대기보다 좋은 곳이 어디 있을까? 높은 피라미드를 보기에 이집트만 한 곳이 있을까? (정말 신난다!!!!)

한 피라미드 꼭대기에서 경치를 감상한 카를은 다른 피라미드 꼭대기로 가고 싶어 한다. 개미는 뜨거운 햇볕에 약하므로, 두 피라미드 꼭대기 사이의 최소 이동 거리를 구하려 한다. 카를은 피라미드의 표면과 피라미드가 놓인 평면 위에서만 걸을 수 있다. 각 피라미드는 정사각뿔이며, 꼭짓점이 정사각형 밑면의 중심 바로 위에 있다.

그림 1: 입력 예제 1에 해당하는 두 피라미드의 모습. 검은 선은 두 꼭대기 사이의 최단 경로를 나타낸다.

입력

첫째 줄에 정수 x1x_1, y1y_1, x2x_2, y2y_2, hh가 주어진다. 점 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2)는 첫 번째 피라미드의 한 변을 정하며, 피라미드의 몸체는 (x1,y1)(x_1, y_1)에서 (x2,y2)(x_2, y_2)로 향하는 방향 벡터의 왼쪽에 있다. hh는 피라미드의 높이다. 둘째 줄은 같은 형식으로 두 번째 피라미드를 나타낸다. 두 피라미드 밑면의 교집합 넓이는 0이다.

제약 조건: −105≤x1,y1,x2,y2≤105-10^5 \le x_1, y_1, x_2, y_2 \le 10^5, (x1,y1)≠(x2,y2)(x_1, y_1) \ne (x_2, y_2), 1≤h≤1051 \le h \le 10^5.

출력

카를이 두 피라미드 꼭대기 사이를 이동하는 최소 거리를 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6} 이하이면 정답으로 인정한다.

예제1

  1. 예제 1

    입력
    0 0 10 0 4
    9 18 34 26 42
    
    예상 출력
    60.866649532