아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

꿈의 비행

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

요약
구 위의 시작점에서 d만큼 남쪽, 서쪽, 북쪽으로 차례로 이동해 출발점으로 돌아오되 남극에서 1km 이상 떨어지는 실수 d를 구한다.
난이도

보통10점 중 7점

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

문제

디마는 국제 패러글라이딩 올림피아드에 참가한다. 모든 참가자는 다음 과제를 수행해야 한다. 주어진 지점에서 출발해 남쪽으로 dd 킬로미터, 서쪽으로 dd 킬로미터, 다시 북쪽으로 dd 킬로미터를 비행한다. 이 비행의 결과로 참가자는 출발점으로 돌아와야 한다!

참가자는 남극에 1킬로미터보다 가까이 접근할 수 없다. 그곳에는 심사위원이 있는 탑이 있기 때문이다.

dd의 값은 참가자가 직접 정하며, d≥1d \ge 1이라는 조건만 만족하면 된다. 디마는 dd를 고르는 것이 그리 간단하지 않다는 것을 금방 알아차리고 여러분에게 도움을 청했다.

지구를 중심이 (0,0,0)(0, 0, 0)이고 반지름이 63716371킬로미터인 구라고 하자. 북극과 남극의 좌표는 각각 (0,0,6371)(0, 0, 6371)과 (0,0,−6371)(0, 0, -6371)이다. 출발점의 3차원 좌표는 (x,y,z)(x, y, z)이며, xx, yy, zz는 정수이고 출발점은 지표면 위에 있으므로 x2+y2+z2=63712x^2+y^2+z^2=6371^2이다.

디마가 주어진 지점에서 출발해 남쪽으로 dd 킬로미터, 서쪽으로 dd 킬로미터, 북쪽으로 dd 킬로미터를 비행한 뒤 출발점으로 돌아오고, 남극에 가까이 지나지 않도록 하는 실수 d≥1d \ge 1을 고르도록 도와주자.

입력

입력 파일의 유일한 줄에 세 정수 xx, yy, zz가 주어진다. 이는 위에서 설명한 좌표계에서 출발점의 좌표이다.

출발점은 지표면 위에 있고, 출발점에서 남극까지의 거리는 10킬로미터 이상이다.

출력

구하는 dd를 실수 하나로 출력한다. d≥1d \ge 1이고 출발점과 경로의 끝점 사이의 거리가 10−610^{-6} 이하이면 정답으로 인정된다.

가능한 dd가 여러 개라면 그중 아무거나 출력한다. 문제의 조건을 만족하는 dd가 적어도 하나 존재한다.

예제1

  1. 예제 1

    입력
    0 0 6371
    
    예상 출력
    239.0