德州撲克 C C

2021-10-03 07:15:03 字數 2662 閱讀 5807

最近,阿夸迷於德州撲克。所以她找到了很多人和她一起玩。由於人數眾多,阿夸必須更改遊戲規則:

所有撲克牌均只看數字,不計花色。

每張卡的值為1、2、3、4、5、6、7、8、9、10、11、12、13 中的一種(對應a,2、3、4、5、6、7, 8、9、10,j,q,k)

每位玩家從一副完整的撲克牌(沒有大小王)中抽出五張撲克牌,可能出現的手牌的值從低到高排列如下:

高牌:不包含以下牌的牌。對於都是高牌的牌,按照五張牌的值的和進行從大到小排序。

對子:手中的5張牌中有2張相同值的牌。對於都擁有對子的牌,按構成該對子的牌的值進行從大到小地排序。如果這些都相同,則按手牌中餘下3張牌的值的和進行從大到小排序。**

兩對:手中擁有兩對不同的對子。對於都包含兩對的手牌,按其最高對子的值進行從大到小排序。如果最高對子相同,則按另乙個對子的值從大到小地進行排序。如果這些值相同,則按剩餘牌的值從大到小地進行排序。

三條:手中擁有3張相同值的牌。對於都包含三條的手牌按構成三條的牌的值進行從大到小地排序。如果這些值相同,則按剩餘牌的值從大到小地進行排序。

滿堂紅:手中擁有乙個三條和乙個對子。同理,先按三條大小排序,如果三條大小相同,則按對子大小進行排序。

四條:手中擁有4張相同值的牌。對於都包含四條的手牌按構成四條的牌的值進行從大到小地排序。如果這些值相同,則按剩餘牌的值從大到小地進行排序。

順子:手中擁有5張連續值的卡。對於都包含順子的手牌按順子最大的牌進行排序。

皇家同花順:手中擁有10到a(10、j、q、k、a)。是最大的手牌!**

現在,阿夸已經知道了每個人的手牌,她想要知道所有人的排名列表。如果玩家的手牌大小相等,則按玩家名字的字典序輸出。保證沒有重複的名字。你能幫幫她嗎?

第一行包含乙個正整數 n (1<=n<=100000) ,表示玩家的人數。

接下來 n 行,每行包含兩個字串:m (1<=|m|<=10 ) ,表示玩家的名字;s (1<=|s|<=10),表示玩家的手牌。

輸出 n個玩家的排名列表。

3

alice aaa109

bob 678910

boa 678910

boa

bobalice

#include

#include

#include

using

namespace std;

const

char book[14]

="a234567891jqk"

;map<

char

,int

>mp;

struct node

;bool

cmp1

(char e,

char d)

char

tong

(char num,

int n)

if(max==n)

return c;

}return0;

}bool

shun

(char num)

return

true;}

bool

royal

(char num)

// intf(

char num)

}return4;

//三條 }if

(tong

(num,2)

)if(s==2)

return3;

//兩對

return2;

//對子

}return1;

//高牌

}//

bool

cmp(node a,node b)

if(na==6)

return a.name(na==5)

return a.name(na==4)

return a.name(na==3)

else

else}if

(b.num[4]

!=b.num[3]

)else

else}if

(a1!=b1)

return mp[a1]

>mp[b1];if

(a2!=b2)

return mp[a2]

>mp[b2];if

(da!=db)

return mp[da]

>mp[db]

;return a.name(na==2)

if(sb!=b.num[i])}

if(ssa!=ssb)

return ssa>ssb;

return a.name(na==1)

if(sa!=sb)

return sa>sb;

return a.namereturn na>nb;

}return a.nameintmain()

sort

(a[i]

.num,a[i]

.num+

5,cmp1)

; a[i]

.type=

f(a[i]

.num);}

sort

(a,a+n,cmp)

;for

(int i=

0;i)}

德州撲克 資訊

術語表 pokerhands,盲注 blind 翻牌圈 flop 轉牌圈 turn 河牌圈 river 攤牌 showdown 全押 all in 下注 bet 加註 raise 觀讓 check 棄牌 fold 荷官皇家同花順 royal flush 由akqj10五張組成,並且這5張牌花色相同 ...

德州撲克總綱

前言 其實我一直想做些和德州撲克相關的一些工作和研究.我把它全都記錄一下,看看自己在這一塊領域,到底能折騰出什麼來,我給自己定了兩個方向,乙個是實現乙個簡單的支援網路對戰的德州撲克遊戲,乙個是深入研究德州ai.無論怎麼樣,先努力吧.德州對戰平台 其實願望還是美好的,我希望是構建這樣乙個工程,同時開源...

德州撲克小結

1 選擇合適的場子。首先是根據自己的資產規模選擇對應門檻的賭局。你至少要保證資產可以承受5次的爆倉。比如資產不到10萬,那麼去2萬門檻的局比較合適。但資產達到25萬以後,可以考慮5萬以上的局。大盲注的規模,應該是門檻的1 其次是入場如果發現場上有對手的籌碼是你的3 4倍了,那麼應該換乙個場子。因為如...