투르 드 프랑스

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

요약
앞·뒤 체인링의 톱니 수가 주어질 때, 만들 수 있는 모든 구동비 n/m 중 인접한 두 값의 최대 비율을 구한다.
난이도

보통10점 중 5점

유형
정렬, 수학, 완전 탐색, 정수론
정답자
아직 제출이 없습니다

문제

경주용 자전거는 두 개의 스프로킷(톱니바퀴)을 잇는 체인으로 구동된다. 스프로킷은 두 무리로 나뉘며, 앞쪽 무리(보통 2~3개)와 뒤쪽 무리(보통 5~10개)가 있다. 임의의 순간에 체인은 앞쪽 스프로킷 하나와 뒤쪽 스프로킷 하나를 연결한다.

구동비(페달의 각속도와 바퀴의 각속도의 비율)는 n:mn:m 이며, 여기서 nn은 선택된 뒤쪽 스프로킷의 톱니 수, mm은 선택된 앞쪽 스프로킷의 톱니 수이다.

두 구동비 d1<d2d_1 < d_2가 인접한다는 것은, d1<d3<d2d_1 < d_3 < d_2를 만족하는 또 다른 구동비 d3d_3가 존재하지 않음을 뜻한다. 구동비 쌍 d1<d2d_1 < d_2의 간격(spread)은 두 값의 비 d2/d1d_2 / d_1로 정의한다.

주어진 앞쪽·뒤쪽 스프로킷 무리에 대해, 인접한 두 구동비 쌍이 이루는 간격의 최댓값을 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 마지막에 00 하나만 있는 줄로 끝난다.

각 테스트 케이스는 다음으로 구성된다.

  • ff: 앞쪽 무리의 스프로킷 개수
  • rr: 뒤쪽 무리의 스프로킷 개수
  • 앞쪽 스프로킷들의 톱니 수를 나타내는 정수 ff개
  • 뒤쪽 스프로킷들의 톱니 수를 나타내는 정수 rr개

어떤 무리도 스프로킷을 1010개보다 많이 갖지 않으며, 모든 스프로킷의 톱니 수는 1010 이상 100100 이하이다.

출력

각 테스트 케이스마다 간격의 최댓값을 소수점 아래 둘째 자리로 반올림(0.5는 올림)하여 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    2 4
    40 50
    12 14 16 19
    0
    
    예상 출력
    1.19
    
  2. 예제 2

    입력
    1 2
    10
    10 100
    0
    
    예상 출력
    10.00