a101: Texas hold 'em
標籤 :
通過比率 : 5人/5人 ( 100% ) [非即時]
評分方式:
Special

最近更新 : 2020-08-21 03:24

內容

題目簡述:你正在玩德州撲克,假設現在檯面上已公開3張牌(仍有2張是蓋著的),且你知道自己與對方的手牌,在牌皆為均勻隨機發的,求你的勝率是多少。

其中每張牌以兩個字元表示,第一個字元代表花色(S (spades,黑桃), H (hearts,紅心), D (diamonds,方塊), C (clubs,梅花)),第二個字元代表點數(A, 2~9, T(10), J, Q, K)。

德州撲克比較輸贏的規則請見:維基百科 德州撲克#牌型大小規則

完整題敘請見(英文):https://atcoder.jp/contests/jag2012autumn/tasks/icpc2012autumn_b

輸入說明

多筆測資,讀到"#"代表結束,不用對此做出任何輸出。

每筆測資包含三行,第一行有兩個字串代表我們擁有的牌,第二行有兩個字串代表對方擁有的牌,第三行有三個字串代表檯面上已公開的牌。

輸出說明

輸出一個浮點數代表你獲勝的機率。輸出與答案誤差小於$10^{-6}$皆視為正確。

範例輸入
SA SK
DA CA
SQ SJ ST
SA HA
D2 C3
H4 S5 DA
HA D9
H6 C9
H3 H4 H5
#
範例輸出
1.00000000000000000000
0.34444444444444444198
0.63030303030303025391
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 20.0s , <1M
提示 :

本題為實作題,以下提供簡略的解法:

窮舉檯面上蓋著的兩張牌(此兩張牌不能是雙方的手牌也不能是已公開的那三張牌,且此兩張牌不能相同)

比較勝負(雙方分別有7張牌(2張手牌+5張檯面上的牌),好好實作德州撲克所有牌型的判斷(可以直接用所有7張牌判斷,或者也可以窮舉所有7取5張牌的組合來判斷然後選其中最好的))),並用2個變數分別記錄獲勝場數(獲勝則+1,平手或輸則不變)與總場數(不論結果每次窮舉皆+1)

當窮舉完所有可能後,答案便是$\frac{獲勝場數}{總場數}$

標籤:
出處:
2012 ICPC Regional Practice Contest (Japan) [管理者:
giver (垃圾)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」