백만장자 (큰 입력)
시간 제한20초메모리 제한512 MB
승리 확률 P인 M번의 라운드에서 보유 자금의 일부를 걸 수 있을 때, 마지막에 100만 달러 이상을 가질 확률을 최대로 만든다.
문제
인기 TV 프로그램 "백만장자가 되고 싶으신가요?"에 초대를 받았다. 물론 되고 싶다.
규칙은 단순하다.
- 게임을 시작하기 전에 진행자가 룰렛을 돌려 한 회차의 베팅에서 이길 확률 를 정한다.
- 처음 가진 돈은 달러다.
- 베팅은 모두 회 진행한다. 각 회차에서 지금 가진 돈의 일부를 걸 수 있고, 한 푼도 걸지 않아도 되고 전부 걸어도 된다. 거는 금액이 달러나 센트 단위로 딱 맞아야 하는 제약은 없다.
- 베팅에서 이기면 가진 돈이 건 금액만큼 늘고, 지면 건 금액만큼 줄어든다.
- 회의 베팅이 모두 끝난 뒤 가진 돈이 $1000000 이상이면 그 돈을 받는다. 이때 금액은 달러 단위로 내림한다. $1000000 미만이면 한 푼도 받지 못한다.
, , 가 주어진다. 백만장자가 될 확률을 최대로 만드는 전략을 따랐을 때 $1000000 이상을 손에 넣을 확률을 구하라.
입력
첫 줄에 테스트 케이스의 개수 이 주어진다.
이어지는 개의 줄에는 각각 M P X 형식으로 테스트 케이스 하나가 주어진다.
- 은 베팅 횟수를 나타내는 정수다.
- 는 한 회차에서 이길 확률을 나타내는 실수다.
- 는 처음 가진 돈을 나타내는 정수다.
제한
- 이고, 소수점 아래 자리는 최대 여섯 자리다.
출력
각 테스트 케이스마다 Case #c: y 형식으로 한 줄씩 출력한다.
- 는 1부터 시작하는 테스트 케이스 번호다.
- 는 백만장자가 될 확률이며 이상 이하다. 소수점 아래 여섯 자리까지 출력한다.
힌트
첫 번째 예제에서 $1000000에 이르는 방법은 단 한 번뿐인 베팅에 전 재산을 거는 것밖에 없다.
두 번째 예제에서는 한 번 지고도 $1000000에 도달하는 전략이 있다. 예를 들면 다음과 같다.
- 첫 회차에 $600000을 들고 $150000을 건다.
- 첫 회차에서 졌다면 $450000이 남으므로 $100000을 건다.
- 첫 회차에서 지고 둘째 회차에서 이겼다면 $550000이 남으므로 $450000을 건다.
- 첫 회차에서 이겼다면 $750000이 남으므로 $250000을 건다.
- 첫 회차에서 이기고 둘째 회차에서 졌다면 $500000이 남으므로 $500000을 건다.