랜덤 걷기
면접 대비시간 제한10초메모리 제한128 MB
왼쪽, 오른쪽, 제자리에 머무를 확률이 주어진 n번의 이동에서 도달한 최대 위치의 기댓값을 구한다.
문제
랜덤 걷기는 다음과 같이 동작한다. 매 걸음 전에 동전을 던져, 앞면이면 왼쪽으로 한 칸, 뒷면이면 오른쪽으로 한 칸 이동한다. 이런 걷기의 위치의 기댓값은 항상 이다. 즉, 걸음을 아무리 많이 해도 평균 위치는 처음 시작한 지점과 같다.
이 문제의 동전은 조금 특이해서, 앞면과 뒷면이 나올 확률이 서로 다를 수 있고, 옆면으로 설 수도 있다. 왼쪽으로 갈 확률, 오른쪽으로 갈 확률, 그리고 동전을 던지는 횟수가 주어질 때, 걷는 동안 도달한 가장 오른쪽 위치의 기댓값을 구하는 프로그램을 작성하시오.
걷기는 위치 에서 시작하며, 이 시작 위치도 가장 오른쪽(최댓값) 위치를 정할 때 포함되므로 답은 결코 음수가 되지 않는다.
입력
첫째 줄에 테스트 케이스의 수 가 주어진다. 각 테스트 케이스는 서로 독립적이다.
각 테스트 케이스는 한 줄로 이루어지며, 세 개의 수 , , 이 순서대로 주어진다. ()은 동전을 던지는 횟수이고, 과 은 각각 왼쪽으로 갈 확률과 오른쪽으로 갈 확률이다 (, , ). 남은 확률 은 동전이 옆면으로 설 확률이며, 이 경우 그 자리에 그대로 있는다.
출력
각 테스트 케이스마다 가장 오른쪽 위치의 기댓값을 소수점 넷째 자리까지 반올림하여 출력한다.