만드는 중입니다

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

클라리사의 원뿔 카놀리

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

요약
밑면 지름 D, 빗변 길이 S, 반죽 원판의 반지름 r, 원하는 겹침 O가 주어질 때 반죽 아래 끝이 놓일 밑면 위의 높이 B를 구합니다.
난이도

보통10점 중 6점

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

문제

클라리사는 새 디저트를 개발하고 있다. 이 디저트는 과일을 넣은 원뿔 모양의 페이스트리이며, 필요하면 크림 필링을 추가로 넣는다. 클라리사는 기름칠한 금속 원뿔에 원형 반죽을 약간 겹치도록 감싸고, 원뿔 위에서 구워 껍질을 만들 계획이다 (그림 2).

클라리사는 밑면 지름과 모선 길이가 서로 다른 금속 원뿔을 여러 개 제작했다 (그림 1). 그림 1에서 D는 원뿔 밑면의 지름, H는 원뿔의 높이, S는 원뿔의 모선 길이이다. 그림 3은 반대편에서 본 모습으로, 겹치는 부분 O를 보여 준다.

클라리사는 원뿔마다 반죽 조건과 굽는 방법을 바꿔 가며 실험하려고 한다. 겹침 O는 정확해야 한다. 너무 작으면 껍질이 약해지고, 너무 크면 겹친 부분의 반죽이 덜 익는다.

클라리사는 원뿔의 지름 D, 모선 길이 S, 반죽 원판의 반지름 r, 원하는 겹침 O를 앱에 입력하면, 반죽의 아랫부분이 원뿔 밑면에서 얼마나 위에 있어야 원하는 만큼 겹치는지 알려 주는 거리 B를 받고 싶어 한다 (그림 4). 이 거리를 원뿔에 표시하면 반죽을 감싸기 쉽다. 이 프로그램이 앱의 핵심이다. 모든 값은 인치 단위이며, B는 소수점 첫째 자리까지 반올림한다.

반죽 원판이 너무 커서 어느 위치에서든 겹침이 과하면 -1.0을 출력한다 (그림 5). 원판 반지름이 너무 작거나 원뿔 지름이 너무 커서, 원판의 위쪽을 원뿔 꼭짓점에 두어도 겹침이 충분하지 않으면 -2.0을 출력한다 (그림 6). 두 경우 모두 앱은 오류 메시지를 띄운다.

입력

한 줄에 공백으로 구분된 실수 네 개 D, S, r, O가 주어진다. 이 값들은 1.0≤D≤S≤161.0 \le D \le S \le 16, 2.0≤r≤S/22.0 \le r \le S/2, 0.1≤O≤1.00.1 \le O \le 1.0을 만족한다.

출력

거리 B를 소수점 첫째 자리까지 반올림한 값을 한 줄에 출력한다. 반죽 원판이 너무 커서 어느 위치에서든 겹침이 과하면 -1.0을 출력한다. 원판 반지름이 너무 작거나 원뿔 지름이 너무 커서, 원판의 위쪽을 원뿔 꼭짓점에 두어도 겹침이 부족하면 -2.0을 출력한다.

예제3

  1. 예제 1

    입력
    8 12 5 0.5
    
    예상 출력
    1.5
    
  2. 예제 2

    입력
    5 12 5 0.5
    
    예상 출력
    -1.0
    
  3. 예제 3

    입력
    11 12 5 0.5
    
    예상 출력
    -2.0