만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

첫 번째 과수원

면접 대비

시간 제한6초메모리 제한1024 MB

요약
나무 네 그루의 과일 개수와 까마귀가 지나야 할 걸음 수가 주어질 때, 까마귀가 과수원에 닿기 전에 모든 과일을 바구니에 담을 확률을 구합니다.
난이도

보통10점 중 5점

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

문제

First Orchard는 2살 이상 어린이를 위한 협력 게임이다. 이 간단한 게임에서 플레이어는 과수원의 나무에서 색깔 있는 과일을 따서 바구니에 넣는다. 게임을 더 재미있게 만들려고 까마귀 한 마리가 과수원에 와서 과일을 훔치려 한다. 까마귀가 과수원에 도착하기 전에 플레이어가 모든 과일을 바구니에 넣으면 플레이어가 이긴다. 까마귀가 먼저 도착하면 플레이어가 진다.

여러분의 과제는 플레이어가 이길 확률을 구하는 것이다.

게임은 다음과 같이 진행된다. 과수원에는 나무가 4그루 있고, 각 나무는 서로 다른 종류의 과일을 연다. 빨간 사과, 초록 사과, 파란 자두, 노란 배이다. 까마귀는 한 칸 이상으로 이루어진 오솔길을 지나 과수원에 도달하려고 한다.

매 턴마다 플레이어는 6면 주사위를 던진다. 그중 4면은 색깔(빨강, 초록, 노랑, 파랑)을, 5면은 과일 바구니를, 6면은 까마귀를 보여준다. 여섯 면은 모두 같은 확률로 나온다.

  • 빨강, 초록, 노랑, 파랑. 이 경우 해당 색깔의 나무에 남은 과일이 있으면 그 색깔의 과일을 바구니에 넣는다. 남은 과일이 없으면 다음 턴으로 넘어간다.
  • 과일 바구니. 바구니 면이 나오면 남은 과일이 가장 많은 나무에서 과일을 하나 딴다. 과일 수가 같은 나무가 여럿이면 그중 아무 나무나 고를 수 있다.
  • 까마귀. 주사위에 까마귀 면이 나오면 까마귀가 과수원 쪽으로 한 칸 다가온다.

플레이어가 모든 과일을 땄거나 까마귀가 과수원에 도착하면 게임이 끝난다. 둘 중 먼저 일어나는 쪽이 적용된다. 플레이어가 모든 과일을 바구니에 넣기 전에 까마귀가 과수원에 도착하면 플레이어가 진다.

입력

입력은 한 개의 테스트 케이스이며, 한 줄로 주어진다. 이 줄에는 정수 다섯 개 R G B Y S가 들어 있다. R,G,B,YR, G, B, Y는 각 나무에 처음 달린 빨간, 초록, 파란, 노란 과일의 개수이고, SS는 까마귀 오솔길의 칸 수이다. 이 게임은 어린이를 위한 것이므로 각 색깔의 과일은 최대 4개이다: 0≤R,G,B,Y≤40 \le R, G, B, Y \le 4. 과일은 전체적으로 최소 한 개 있다: 0<R+G+B+Y0 < R + G + B + Y. 까마귀는 최소 1칸, 최대 8칸을 가야 한다: 1≤S≤81 \le S \le 8. 칸 수 SS는 플레이어가 질 때까지 주사위에 까마귀 면이 나와야 하는 횟수와 같다.

출력

플레이어가 이길 확률을 부동소수점 수로 출력한다. 결과의 절대 오차는 10−510^{-5}보다 작아야 한다.

예제3

  1. 예제 1

    입력
    1 1 0 0 3
    
    예상 출력
    0.920138888889
    
  2. 예제 2

    입력
    4 4 4 4 5
    
    예상 출력
    0.631357306601
    
  3. 예제 3

    입력
    4 4 4 4 4
    
    예상 출력
    0.459393713591