쿠키 농장

X개를 가장 빨리 모으기 위해 팜을 몇 개 산 뒤 기다릴지 정하고 최소 시간을 계산합니다.

보통4그리디수학면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

처음에 가진 쿠키는 0개이고, 거대한 쿠키를 클릭해서 초당 2개씩 얻는다. 쿠키가 CC개 이상 모이면 언제든지 쿠키 농장을 살 수 있다. 농장을 하나 살 때마다 쿠키 CC개를 쓰고, 초당 생산량이 FF개 늘어난다.

농장에 쓰지 않고 남겨 둔 쿠키가 XX개가 되는 순간 승리한다. 가장 좋은 전략을 썼을 때 승리까지 걸리는 시간을 구하라.

쿠키는 연속적으로 쌓인다. 시작 0.1초 뒤에는 쿠키가 0.2개 있고, π\pi초 뒤에는 2π2\pi개 있다.

C=500.0C=500.0, F=4.0F=4.0, X=2000.0X=2000.0일 때 가장 좋은 전략은 다음과 같다.

  1. 쿠키 0개, 초당 생산량 2개로 시작한다.
  2. 250초 뒤에 쿠키가 C=500C=500개가 되고, 초당 F=4F=4개를 생산하는 농장을 산다.
  3. 농장을 사고 나면 쿠키는 0개, 초당 생산량은 6개다.
  4. 다음 농장도 500개가 필요하고, 약 83.3333333초 뒤에 살 수 있다.
  5. 두 번째 농장을 사고 나면 쿠키는 0개, 초당 생산량은 10개다.
  6. 그다음 농장도 500개가 필요하고, 50초 뒤에 살 수 있다.
  7. 세 번째 농장을 사고 나면 쿠키는 0개, 초당 생산량은 14개다.
  8. 네 번째 농장도 500개가 필요하지만, 사지 않는 쪽이 낫다. 그대로 기다려 X=2000X=2000개를 모으면 약 142.8571429초가 걸린다.

걸린 시간은 모두 더해서 250+83.3333333+50+142.8571429=526.1904762250 + 83.3333333 + 50 + 142.8571429 = 526.1904762초다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에 각각 실수 CC, FF, XX가 공백으로 구분되어 주어진다.

CC, FF, XX는 각각 한 자리 이상의 정수부, 소수점, 한 자리 이상 다섯 자리 이하의 소수부로 이루어진다. 정수부 앞에 0이 붙지 않는다.

  • 1T1001 \le T \le 100
  • 1C100001 \le C \le 10000
  • 1F1001 \le F \le 100
  • 1X1000001 \le X \le 100000

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 쿠키 XX개를 모으는 데 걸리는 최소 시간(초)이다.

yy는 소수점 아래 일곱째 자리까지 반올림해서 출력한다. 소수부 자릿수가 모자라면 0으로 채워 항상 일곱 자리를 쓴다.

힌트

농장을 하나 더 사는 것이 이득인지는 지금의 초당 생산량에 달려 있다. 어떤 시점에 농장을 하나 더 사는 것이 손해라면 그 뒤로도 계속 손해이므로, 이득인 동안만 사면 된다.