사다리

https://www.acmicpc.net/problem/2022


풀이

이분 탐색을 사용한다. 작은 값은 사다라기 딱 붙어있을 경우로 0이며 가장 큰 값은 x, y중 짧은 사다리가 누워있을 경우로 min(x, y)이다.
또한 오차는 10^-3까지 허용함으로 반복문의 조건은 이분 탐색에 시작값과 끝값이의 차가 0.001일 때까지 반복하면 된다.
c값은 구하기 위해서는 먼저 각 사다리가 기대고있는 지점까지의 높이 값을 구해야 하는데 피타고라스의 정리를 사용해 구한다.
각각 xh = sqrt(x^2 - w^2), yh = sqrt(y^2 - w^2)이고 이 높이값을 사용해 삼각형의 각도가 같을 때 가로세로 길이의 비율이 같다는 것을 이용해
이분 탐색의 시각, 끝값을 통해 최종 도출되는 c값을 비교하여 값을 갱신하며 최종값을 찾아나간다.