게임 주사위
시간 제한1초메모리 제한128 MB
주어진 여러 주사위와 목표 합이 있을 때 정확히 그 합이 나올 확률을 소수점 다섯 자리까지 계산한다.
문제
테이블탑 롤플레잉 게임에서 플레이어는 여러 면을 가진 주사위를 굴려 행동의 결과를 결정하는 난수를 만든다. 이 주사위는 4면체부터 20면체까지 다양한 모양을 가진다. 면 주사위(줄여서 )의 각 면에는 부터 까지의 수가 적혀 있으며, 모든 면이 나올 확률은 같다. 이 문제에서 사용하는 주사위는 , , , , , 이다.
원하는 범위의 값을 얻기 위해 여러 개의 주사위를 함께 굴려 나온 눈의 합을 사용하기도 한다. 서로 다른 주사위 조합이 같은 범위의 합을 만들 수 있지만, 그 범위 안의 각 합이 나올 확률은 전혀 다를 수 있다. 예를 들어 과 은 부터 까지의 합을 만들 수 있고 두 개도 마찬가지이지만, 가 나올 확률은 두 경우가 서로 다르다.
주어진 주사위 집합과 목표 수가 있을 때, 그 합이 정확히 나올 확률을 구하여라.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 각 케이스는 한 줄에 주어진다. 각 줄은 굴리는 주사위의 개수를 나타내는 정수 ()로 시작한다. 그 뒤에 개의 주사위 표기가 이어지며, 각각은 , , , , , 중 하나이다. 줄의 마지막 값은 확률을 구할 목표 합을 나타내는 정수 ()이다. 하나만 있는 줄은 입력의 끝을 나타내며 처리하지 않는다.
출력
각 테스트 케이스마다 주어진 주사위로 합 가 나올 확률을 소수점 아래 다섯 자리로 반올림하여 한 줄에 출력한다. 뒤따르는 이 있더라도 소수점 아래 다섯 자리를 모두 출력해야 한다.