UVa 1637 紙牌遊戲(全概率公式)

2022-06-20 22:00:12 字數 654 閱讀 1650

題意:36張牌分成9堆,每堆4張牌。每次可以拿走某兩堆頂部的牌,但需要點數相同。每種拿法的概率均為1/5。求成功概率。

思路:可以用9元組來表示當前狀態,d[i]表示狀態i對應的成功概率。

根據全概率公式:乙個狀態的成功率,等於其後繼狀態的成功率的平均值。

看到別人用vector來簡潔的表示了狀態,值得學習。  

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9

using

namespace

std;

1011

char card[9][4][3

];12 mapint>,double>d;

1314

bool

read()

1521

22double dp(vector p,int

num)

2341}42

}43if(tot==0) return d[p]=0;44

else

return d[p]=sum/tot;45}

4647

intmain()

4856

return0;

57 }

UVa1637 紙牌遊戲

uva1637 紙牌遊戲 36 張牌分成 9 堆,每堆 4 張牌。每次可以拿走某兩堆頂部的牌,但需要點數相同。如果有多種拿法則等概率的隨機拿。例如,9 堆頂部的牌分別為 ks,kh,kd,9h,8s,8d,7c,7d,6h 則有 5 種拿法 ks,kh ks,kd kh,kd 8s,8d 7c,7d...

UVA1637 紙牌遊戲

36張牌分成9堆,每堆4張牌。每次可以拿走某兩堆頂部的牌,但需要點數相同。如果有 多種拿法則等概率的隨機拿。例如,9堆頂部的牌分別為ks,kh,kd,9h,8s,8d,7c,7d,6h,則有5種拿法 ks,kh ks,kd kh,kd 8s,8d 7c,7d 每種拿法的概率均為1 5。如果最後拿完所...

例題 10 12 紙牌遊戲 UVa 1637

題意 36張牌分成9堆,沒堆4張,每次可以拿走某兩堆頂部的牌,但需要的點數相同,如果有多種拿法就等概率隨機拿,問拿完所有牌的概率。分析 直接用9元組表示當前狀態,即每堆剩餘的牌數,狀態數為5 9 1953125。設d i 表示狀態i對應的概率,則根據全概率公式,d i 為後繼狀態的成功概率的平均值,...