아래의 그림과 같이 높은 빌딩 사이를 따라 좁은 길이 나있다. 두 개의 사다리가 있는데 길이가 x인 사다리는 오른쪽 빌딩의 아래를 받침대로 하여 왼쪽 빌딩에 기대져 있고 길이가 y인 사다리는 왼쪽 빌딩의 아래를 받침대로 하여 오른쪽 빌딩에 기대져 있다.
그리고 두 사다리는 땅에서부터 정확하게 c인 지점에서 서로 교차한다. 그렇다면 두 빌딩은 얼마나 떨어져 있는 걸까?
import sys
input = lambda: sys.stdin.readline().strip()
# 두 빌딩이 떨어져 있는 거리 : mid
# c / r(x^2 – mid^2) + c / r(y^2 – mid^2) = 1
x, y, c = map(float, input().split())
start = 0.0000001
end = min(x, y) - 0.0000001
result = 0
while start <= end:
mid = (start + end) / 2
num = c / ((x * x - mid * mid)**0.5) + c / ((y * y - mid * mid)**0.5)
check_num = int(num * 10000) / 10000
if check_num <= 1:
result = int((mid + 0.0005) * 1000) / 1000
start = mid + 0.000001
else:
end = mid - 0.000001
print(result)