TopCoder

abcabcabc
快去寫 TIOJ 2311 > <

User's AC Ratio

83.3% (5/6)

Submission's AC Ratio

19.4% (7/36)

Tags

Description

你有玩過德州撲克嗎?

德州撲克是一種撲克牌的遊戲。規則簡單來說,就是每個人會拿到兩張底牌,而中央會有五張公共牌。
你可以從手上的兩張牌加上中央五張牌中選出五張牌來。

雙方比較他們各自選出來的五張牌的大小,較大者可以拿走所有的賭注,而若平手則是兩人平分賭注。
牌的大小是由下面的順序來決定:

單張牌的大小分別為:A > K > Q > J > T > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2
而五張牌的牌型大小分別為:同花順 > 鐵支 > 葫蘆 > 同花 > 順子 > 三條 > 兩對 > 一對 > 其他

以下分別解釋各種牌型:

同花順:同一花色,順序的牌,其中以A2345最小而TJQKA最大。例: 8♦ 9♦ 10♦ J♦ Q♦
鐵支:有四張同一點數的牌。例: 4♣ 4♦ 4♥ 4♠ 9♥
葫蘆:三張同一點數的牌,加一對其他點數的牌。 例: 8♣ 8♦ 8♠ K♥ K♠
同花:五張同一花色的牌。 例: 3♠ 4♠ 8♠ J♠ K♠
順子:五張連續的牌,其中以A2345最小而TJQKA最大。例: A♦2♦ 3♠ 4♥ 5♦
三條:有三張同一點數的牌。例: 7♣ 7♥ 7♠ 2♠ K♦
兩對:兩張相同點數的牌,加另外兩張相同點數的牌。例: 8♥ 8♠ A♣ A♦ Q♠
一對:兩張相同點數的牌。 例: 9♥ 9♠ 4♥ J♠ A♣
其他:不能排成以上組合的牌,以點數決定大小。例: 4♣ 5♣ 9♠ 10♦ A♦

而如果兩個人是同一種牌型的話:

同花順、順子的大小關係為A2345 < 23456 < 34567 < ... < TJQKA。
要特別注意JQKA2、QKA23、KA234是不能組成順子的。
鐵支是先比較四張一樣牌的大小,再比較剩下一張牌的大小,如果都一樣就算平手。
葫蘆是先比較三張一樣牌的大小,再比較兩張一樣牌的大小,如果都一樣就算平手。
三條是先比較三張一樣牌的大小,再比較剩下兩張中較大那張的大小,再比較最小的那張,如果都一樣就算平手。
兩對是先比較較大的對子的大小,再比較較小的對子的大小,再比較最小的那張,如果都一樣就算平手。
一對是先比較對子的大小,剩下三張牌按照由大到小的順序比較,如果都一樣就算平手。
同花、其他是從最大的牌開始比較,如果一樣再比次大的牌......,如果都一樣就算平手。

要特別注意的是,在德州撲克中花色不影響牌的大小,也就是8♣、8♦、8♥、8♠這四張牌比較時是一樣大的。

現在你正在玩這個遊戲,此時桌面上已經有四張翻開的牌,而你和你的對手都已經全押,並且雙方都已經將自己的底牌翻開了。

這時桌上已經有了 c 元的賭注,你想算算看在最後一張牌翻開後,你得到的賭注期望值是多少。

Input Format

本題有多組測試資料:

第一行有一個數字T,代表接下來有幾個你想要分析的場面:

每筆資料會有四行。
第一行為你自己的兩張底牌,第二行為對方的底牌,第三行為桌面上已翻開的四張牌,第四行有個整數 c 表示桌面上已有的賭注。
( 0 <= c < 10,000,000 )

一張牌由兩個字元組成。
第一個字元表示牌的花色,以'c', 'd', 'h', 's'代表。
第二個字元表示牌的數目,以'A', 'K', 'Q', 'J', 'T', '9', '8', '7', '6', '5', '4', '3', '2'表示。

任意兩張牌間會以一個空白分隔,而任意兩筆測資之間會以一個空白行分隔。
你可以假設所有輸入都是合理的,也就是不會有不合法的字元,也不會有重複的牌。

請參照範例輸入。

Output Format

請輸出你會得到賭金的期望值,我們保證輸出一定是整數。

Sample Input 1

3
cA dA
cK sT
hA sA dT c2
1000000

h2 h3
s6 d6
h9 hK c6 dT
1100000

d2 c3
h2 s3
sA cA hA dA
1000000

Sample Output 1

1000000
175000
500000

Hints

第一筆範例測資,你已經贏定了。
第二筆範例測資,只有翻出來的是除了h6,hT以外的紅心時你才會贏。
第三筆範例測資,已經一定平手了。

※2008/10/31 測資更正 by peter50216,感謝yesyes100。

Problem Source

原TIOJ1450 / 建中校內培訓第二次模擬考試。
Problem Setter:hallogameboy、peter50216

Subtasks

No. Testdata Range Score
1 0 9
2 1 9
3 2 9
4 3 9
5 4 9
6 5 9
7 6 9
8 7 9
9 8 9
10 9 9
11 10 10

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 4000 65536 262144 1
1 4000 65536 262144 2
2 4000 65536 262144 3
3 4000 65536 262144 4
4 4000 65536 262144 5
5 4000 65536 262144 6
6 4000 65536 262144 7
7 4000 65536 262144 8
8 4000 65536 262144 9
9 4000 65536 262144 10
10 4000 65536 262144 11