カードのデッキは、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桁以上の確率。末尾のゼロはスキップされます。科学表記は大丈夫です。
抜け穴は禁止されています。最短勝。
テスト:
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
ウィキペディアのブリッジ手のパターンも参照してください。
編集:不要な制限を削除しました H≤R
編集:制約を追加 H≥1