쿠키 농장
면접 대비시간 제한10초메모리 제한64 MB
초당 2개에서 시작해 팜을 살 때마다 생산량이 늘어나며 X개를 가장 빨리 모으는 구매 횟수를 구합니다.
문제
쿠키 농장은 거대한 쿠키 그림을 클릭하는 클리커 게임이다. 쿠키를 클릭하면 쿠키가 쌓이고, 모은 쿠키로 건물을 사면 쿠키가 늘어나는 속도가 빨라진다.
이 문제에서는 쿠키 0개로 게임을 시작한다. 거대한 쿠키를 클릭해서 초당 2개씩 쿠키를 얻는다. 손에 쥔 쿠키가 개 이상이면 언제든 쿠키 농장을 하나 살 수 있다. 농장을 살 때마다 쿠키 개를 쓰고, 초당 생산량이 개만큼 영구히 늘어난다.
농장에 쓰지 않고 남긴 쿠키가 개가 되는 순간 승리한다. 가장 좋은 전략을 골랐을 때 승리까지 걸리는 시간을 구하는 프로그램을 작성하시오.
쿠키는 끊어지지 않고 연속으로 쌓인다. 게임이 시작된 뒤 초가 지나면 쿠키가 개 있고, 초가 지나면 개 있다.
, , 이면 최적 전략은 이렇게 흘러간다.
- 쿠키 0개, 초당 생산량 2개로 시작한다.
- 초 뒤에 쿠키 개가 모이므로, 초당 개를 더 주는 농장을 산다.
- 농장을 사고 나면 손에 쥔 쿠키는 0개, 총 생산량은 초당 6개다.
- 다음 농장도 500개가 필요하고, 약 초 뒤에 살 수 있다.
- 두 번째 농장을 사고 나면 손에 쥔 쿠키는 0개, 총 생산량은 초당 10개다.
- 그다음 농장도 500개가 필요하고, 초 뒤에 살 수 있다.
- 세 번째 농장을 사고 나면 손에 쥔 쿠키는 0개, 총 생산량은 초당 14개다.
- 네 번째 농장도 500개가 필요하지만, 사지 않는 편이 낫다. 그대로 기다려서 쿠키 개를 모으는 데 약 초가 걸린다.
전체 시간은 초다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
이어지는 개의 줄에 각각 실수 , , 가 공백으로 구분되어 주어진다. 의미는 문제에서 설명한 것과 같다.
, , 이다.
, , 는 모두 한 자리 이상의 정수부, 소수점 하나, 1자리 이상 5자리 이하의 소수부로 적힌다. 정수부 맨 앞에 0이 붙는 경우는 없다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 쿠키 개를 손에 쥐기까지 걸리는 최소 시간이다.
는 소수점 아래 넷째 자리에서 반올림하고, 소수점 아래를 정확히 네 자리로 출력한다.