커버 업
시간 제한1초메모리 제한128 MB
각 자릿수의 후보와 알려진 후보 확률이 주어질 때 참가자가 최적으로 추측할 때의 승리 확률을 구한다.
문제
어느 인기 게임 쇼에는 참가자가 새 자동차의 가격인 여러 자리 수를 한 자리씩 맞히는 게임이 있다. 각 자리마다 고를 수 있는 숫자 후보가 여러 개 주어지며(예: 첫 자리는 두 개, 둘째 자리는 세 개, ...), 그중 정확히 하나가 정답이다.
매 턴마다 참가자는 아직 맞히지 못한 각 자리에 대해, 그 자리에서 아직 고르지 않은 숫자 중 하나를 선택한다. 그러면 어느 선택이 맞았는지 알려 준다. 이번 턴에 새로 맞힌 자리가 하나라도 있으면, 아직 틀린 자리들에 대해 다시 추측할 수 있다. 참가자는 매 턴 새로 맞힌 자리가 하나 이상 있는 한 계속 추측한다. 모든 자리를 맞히면 승리, 어떤 턴에 새로 맞힌 자리가 하나도 없으면 패배로 게임이 끝난다.
각 자리에는 일부 후보가 '유력 후보(known candidate)'로 표시되어 있다. 어떤 자리에 후보가 개 있고 그중 개가 유력 후보이며, 정답이 유력 후보들 중 하나일 확률이 라고 하자. 그러면 각 유력 후보가 정답일 확률은 모두 같아서 이고, 나머지 개의 후보가 정답일 확률도 모두 같아서 이다. 예를 들어 어떤 자리에 후보가 다섯 개이고 그중 두 개가 유력 후보로서 합쳐 의 확률을 가진다면, 각 유력 후보는 , 나머지 세 후보는 각각 의 확률을 가진다.
참가자가 (이런 확률에 근거한) 최적 전략으로 숫자를 고를 때 이 게임에서 승리할 확률을 구하여라.
입력
각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에는 맞혀야 하는 수의 자릿수 이 주어지며, 의 최댓값은 이다. 둘째 줄에는 개의 삼중값이 형태로 주어진다. 여기서 은 한 자리의 후보 개수, 은 유력 후보의 개수, 는 유력 후보 중 하나가 정답일 확률이다. 모든 경우에 이고 이다. 일 때(유력 후보가 없을 때)에는 항상 이다. 하나만 있는 줄이 입력의 끝을 나타낸다.
출력
각 테스트 케이스에 대해, 최적 전략을 사용할 때의 승리 확률을 출력한다. 모든 확률은 소수점 아래 넷째 자리에서 반올림하여 셋째 자리까지 나타내며, 뒤따르는 은 출력하지 않는다. (승리 확률이 이면 로 출력한다.)