한 벌의 카드는 S
수트와 R
순위 의 데카르트 곱입니다 . 전부는 아니지만 많은 카드 게임에서 S=4
및을 사용 R∊{6,8,13}
합니다. 의 손 H
카드는 갑판에서 처리된다. 그것의 유통 , 일명 '손 패턴은 "당신은 정장 위해 (때문에, 그것은 멀티 세트처럼)을 무시하고, 각각의 슈트에서 가지고 얼마나 많은 카드를 설명하는 배열입니다. 배포 감안할 때 D
만족을 len(D)=S
, 1≤sum(D)=H≤S×R
, 0≤D[i]≤R
, D[i]≥D[i+1]
, 그것은 발생의 가능성을 찾을 수 있습니다.
입력 : 정수 R
및 배열 D
.
출력 : 소수점 이하 5 자리 이상의 확률; 후행 0은 건너 뛸 수 있습니다. 과학적 표기법은 괜찮습니다.
허점은 금지되어 있습니다. 최단 승리.
테스트 :
R D probability
13 4 4 3 2 -> 0.2155117564516334148528314355068773
13 5 3 3 2 -> 0.1551684646451760586940386335649517
13 9 3 1 0 -> 0.0001004716813294328274372174524508
13 13 0 0 0 -> 0.0000000000062990780897964308603403
8 3 2 2 1 -> 0.4007096203759162602321667950144035
8 4 2 1 1 -> 0.1431105787056843786543452839337155
8 2 2 1 0 -> 0.3737486095661846496106785317018910
8 3 1 1 0 -> 0.2135706340378197997775305895439377
15 4 4 3 2 1 -> 0.1428926269185580521441708109954798
10 3 0 0 -> 0.0886699507389162561576354679802956
10 2 1 0 -> 0.6650246305418719211822660098522167
10 1 1 1 -> 0.2463054187192118226600985221674877
Wikipedia의 Bridge hand patterns 도 참조하십시오 .
편집 : 불필요한 제한을 삭제 H≤R
편집 : 제약 추가 H≥1