아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

백만장자 (큰 입력)

시간 제한20초메모리 제한512 MB

요약
승리 확률 P인 M번의 라운드에서 보유 자금의 일부를 걸 수 있을 때, 마지막에 100만 달러 이상을 가질 확률을 최대로 만든다.
난이도

어려움10점 중 8점

유형
동적 계획법, 확률
정답자
아직 제출이 없습니다

문제

인기 TV 프로그램 "백만장자가 되고 싶으신가요?"에 초대를 받았다. 물론 되고 싶다.

규칙은 단순하다.

  • 게임을 시작하기 전에 진행자가 룰렛을 돌려 한 회차의 베팅에서 이길 확률 PP를 정한다.
  • 처음 가진 돈은 XX달러다.
  • 베팅은 모두 MM회 진행한다. 각 회차에서 지금 가진 돈의 일부를 걸 수 있고, 한 푼도 걸지 않아도 되고 전부 걸어도 된다. 거는 금액이 달러나 센트 단위로 딱 맞아야 하는 제약은 없다.
  • 베팅에서 이기면 가진 돈이 건 금액만큼 늘고, 지면 건 금액만큼 줄어든다.
  • MM회의 베팅이 모두 끝난 뒤 가진 돈이 $1000000 이상이면 그 돈을 받는다. 이때 금액은 달러 단위로 내림한다. $1000000 미만이면 한 푼도 받지 못한다.

MM, PP, XX가 주어진다. 백만장자가 될 확률을 최대로 만드는 전략을 따랐을 때 $1000000 이상을 손에 넣을 확률을 구하라.

입력

첫 줄에 테스트 케이스의 개수 NN이 주어진다.

이어지는 NN개의 줄에는 각각 M P X 형식으로 테스트 케이스 하나가 주어진다.

  • MM은 베팅 횟수를 나타내는 정수다.
  • PP는 한 회차에서 이길 확률을 나타내는 실수다.
  • XX는 처음 가진 돈을 나타내는 정수다.

제한

  • 1≤N≤1001 \le N \le 100
  • 0≤P≤1.00 \le P \le 1.0이고, 소수점 아래 자리는 최대 여섯 자리다.
  • 1≤X≤10000001 \le X \le 1000000
  • 1≤M≤151 \le M \le 15

출력

각 테스트 케이스마다 Case #c: y 형식으로 한 줄씩 출력한다.

  • cc는 1부터 시작하는 테스트 케이스 번호다.
  • yy는 백만장자가 될 확률이며 00 이상 11 이하다. 소수점 아래 여섯 자리까지 출력한다.

힌트

첫 번째 예제에서 $1000000에 이르는 방법은 단 한 번뿐인 베팅에 전 재산을 거는 것밖에 없다.

두 번째 예제에서는 한 번 지고도 $1000000에 도달하는 전략이 있다. 예를 들면 다음과 같다.

  • 첫 회차에 $600000을 들고 $150000을 건다.
  • 첫 회차에서 졌다면 $450000이 남으므로 $100000을 건다.
  • 첫 회차에서 지고 둘째 회차에서 이겼다면 $550000이 남으므로 $450000을 건다.
  • 첫 회차에서 이겼다면 $750000이 남으므로 $250000을 건다.
  • 첫 회차에서 이기고 둘째 회차에서 졌다면 $500000이 남으므로 $500000을 건다.

예제2

  1. 예제 1

    입력
    2
    1 0.5 500000
    3 0.75 600000
    
    예상 출력
    Case #1: 0.500000
    Case #2: 0.843750
    
  2. 예제 2

    입력
    6
    1 1.0 500000
    1 1.0 499999
    1 0.0 1000000
    1 0.0 999999
    15 1.0 31
    15 1.0 30
    
    예상 출력
    Case #1: 1.000000
    Case #2: 0.000000
    Case #3: 1.000000
    Case #4: 0.000000
    Case #5: 1.000000
    Case #6: 0.000000