Um baralho de cartas é o produto cartesiano de S
naipes e R
posições. Muitos, embora não todos, jogos de cartas usam S=4
e R∊{6,8,13}
. Uma mão de H
cartas é distribuída do baralho. Sua distribuição , também conhecida como "padrão das mãos", é uma matriz que descreve quantas cartas você recebeu de cada naipe, ignorando a ordem dos naipes (portanto, é como um conjunto múltiplo). Dada uma distribuição D
satisfatória len(D)=S
, 1≤sum(D)=H≤S×R
, 0≤D[i]≤R
, D[i]≥D[i+1]
, encontrar a probabilidade da sua ocorrência.
Entrada: um número inteiro R
e uma matriz D
.
Saída: a probabilidade com pelo menos 5 dígitos após a marca decimal; zeros à direita podem ser ignorados; notação científica está ok.
Falhas proibidas. Vitórias mais curtas.
Testes:
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
Veja também Bridge hand patterns na Wikipedia .
EDIT: eliminou restrições desnecessárias H≤R
EDIT: restrição adicionada H≥1