題意:36張牌分成9堆,每堆4張牌。每次可以拿走某兩堆頂部的牌,但需要點數相同。每種拿法的概率均為1/5。求成功概率。
思路:可以用9元組來表示當前狀態,d[i]表示狀態i對應的成功概率。
根據全概率公式:乙個狀態的成功率,等於其後繼狀態的成功率的平均值。
看到別人用vector來簡潔的表示了狀態,值得學習。
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9using
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 為後繼狀態的成功概率的平均值,...