말 타기

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

요약
정사각형의 두 인접한 꼭짓점 좌표를 잡고 A의 좌표를 두 거리로부터 구한 뒤 그 변에서 떨어진 점 D까지의 거리 제곱을 출력한다.
난이도

보통10점 중 6점

유형
기하, 수학, 구현
정답자
아직 제출이 없습니다

문제

지호는 말 타기를 매우 좋아한다. 그래서 학교에서 말 타기 행사가 열리는 날 다른 친구들에게 시범을 보이기로 했다. 그는 한 변의 길이가 bb인 정사각형 운동장 내부(테두리 포함)의 임의의 점 A까지 말을 몰고 갔다. 그 다음 운동장의 네 꼭짓점 중 임의의 두 점을 골라 각각 B, C라 했다. 지호는 운동장의 네 변 중 하나인 변 BC 위에 선분 BD의 길이가 mm이 되도록 점 D를 정했다.

이때 그는 말을 점 A에서 D까지 일직선으로 이동하려고 한다. 선분 AB의 길이 aa, 선분 AC의 길이 cc, 운동장의 한 변의 길이 bb, 그리고 mm이 주어지면 지호가 타는 말이 이동하는 거리의 제곱을 구하는 프로그램을 작성하시오. 말이 이동한 거리는 점 A에서 D까지의 직선거리이다.

입력

첫째 줄에 aa, bb, cc가 공백을 한 개씩 사이에 두고 차례대로 주어진다. 둘째 줄에는 mm이 주어진다. 주어지는 값은 모두 양의 정수이고, 점 A가 bb, cc의 값 때문에 운동장 내부에 있지 않은 경우는 없다.

출력

첫째 줄에 문제에서 요구한 정답을 출력한다. 절대/상대 오차는 10−610^{-6}까지 허용한다.

제한

  • 0<a,b,c≤1000 < a, b, c \le 100
  • a+b+c>2×max⁡(a,b,c)a+b+c > 2 \times \max(a, b, c)
  • 0<m<b0 < m < b

예제2

  1. 예제 1

    입력
    10 10 12
    5
    
    예상 출력
    97
  2. 예제 2

    입력
    18 13 16
    8
    예상 출력
    242.1538461538