เพื่อนของคุณเชิญคุณเข้าร่วมการแข่งขันโปกเกอร์ขั้นสูงในนาทีสุดท้ายและในฐานะนักวิทยาศาสตร์คอมพิวเตอร์คุณตัดสินใจที่จะใช้ทักษะของคุณเพื่อสร้างความได้เปรียบให้กับเกม งานของคุณจะได้รับ2 cards
(มือของคุณ) และ0, 3, 4 or 5 cards
(ไพ่ที่แจก) คุณต้องตัดสินใจว่ามือที่ดีที่สุดที่คุณจะได้รับคืออะไร หากได้รับไพ่ทั้งหมด 7 ใบเป็นอาร์กิวเมนต์คำตอบนั้นค่อนข้างชัดเจน หากได้รับน้อยปัญหาจะซับซ้อนมากขึ้น อย่างไรก็ตามมันไม่เพียงพอที่จะให้คุณได้เปรียบคุณต้องคำนวณมือที่ดีที่สุดที่เป็นไปได้จากไพ่ที่เหลือเพื่อให้เข้าใจว่าฝ่ายตรงข้ามของคุณจะมีอะไรบ้าง
Hold'em Refresher
หากคุณไม่รู้จัก Hold'em ผู้เล่นแต่ละคนในเกมจะเริ่มด้วยไพ่ 2 ใบในมือของพวกเขา ในช่วงระยะเวลา 3 รอบจะมีการเปิดเผยการ์ดเพิ่มเติมเพื่อแบ่งปันระหว่างผู้เล่นทุกคน เทิร์นแรกไพ่ 3 ใบถูกเปิดเผย ครั้งที่สองอีก 1 และครั้งที่สามมีการเปิดเผยไพ่ใบสุดท้าย ไพ่สองใบแรกที่มอบให้แสดงถึงมือของคุณในขณะที่ไพ่หลังนั้นเป็น 0, 3, 4 หรือ 5 ใบที่ได้รับจากการเปลี่ยนต่อเนื่อง
ตัวเลขที่เป็นไปได้:
[2,3,4,5,6,7,8,9,T(10),J,Q,K,A]
ชุดที่เป็นไปได้:
[S,C,H,D]
เด็คเต็มรูปแบบ:
[2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, # Spades.
2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC, # Clubs.
2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, # Hearts.
2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD] # Diamonds.
อันดับมือ:
1:Royal Flush (A-K-Q-J-10, all from the same suit).
2:Straight Flush (Sequential cards, all from the same suit).
3:Four-of-a-Kind (Self explanatory).
4:Full House (3-of-a-kind and a 2-of-a-kind).
5:Flush (All cards are from the same suit).
6:Straight (Sequential Cards, any suits).
7:3-of-a-Kind (Self explanatory).
8:2-Pair (Double 2-of-a-Kind).
9:Pair (2-of-a-Kind).
10:High Card (You have absolutely nothing except a single card).
ให้ยกตัวอย่างหรือสองตัวอย่างแล้วเดินผ่านมันไป
ตัวอย่างง่ายๆ:
[AS, AC],[AH,AD,9S,9C,9H]
-> 3
(สี่ชนิด), 3
(สี่ชนิด)
มือที่ดีที่สุดที่คุณจะมีในการตั้งค่านี้คือไพ่สี่ใบในมือ มือที่ดีที่สุดที่เป็นไปได้ที่คู่ต่อสู้ของคุณอาจเป็น 4-of-a-kind เนื่องจากคุณไม่สามารถมี KQJ10 ในมือไพ่ 2 ใบของพวกเขา
[5C,2C],[6C,4C,JH,JD]
-> 2
(ฟลัชท์แบบตรง), 3
(4-of-a-Kind)
คุณมีความเสี่ยงที่จะได้รับการจู่โจมแบบตรง แต่เนื่องจากคุณมี 2 / 5C ในมือของคุณไม่มีใครเลยที่คุณถือไพ่กลางทั้งคู่ สิ่งที่ดีที่สุดที่พวกเขาสามารถคาดหวังได้คือมีแจ็คพ็อค 2 พ็อคเก็ตและการได้แจ็ค
[JS,JC],[]
-> 1
(Royal Flush), 1
(Royal Flush)
ไม่มีข้อมูลที่คุณสามารถใช้กับพวกเขาได้สิ่งที่คุณสามารถบอกได้ในขณะนี้คือพวกเขาสามารถมีเพียงกษัตริย์ที่เปี่ยมด้วยอัญมณี / หัวใจเท่านั้น ในความเป็นจริงอินพุตทั้งหมดที่ฟลอพยังไม่เกิดขึ้นควรส่งผลให้ได้คำตอบ 1-1
[2C,4S],[3C,7S,9D,AH,JD]
-> 10
(บัตรสูง), 7
(3-of-a-Kind)
นี่คือตัวอย่างของการที่คุณเมาอย่างแน่นอนและไม่มีความเป็นไปได้ที่จะเกิดแม่น้ำตรงหรือแดง ความหมายของมือที่ดีที่สุดในที่นี้คือเอซพ็อคเก็ตทำให้เป็น 3-of-a-Kind
ข้อกำหนดของ I / O
- ข้อมูลจะต้องแยกระหว่างสิ่งที่อยู่ในมือของคุณและสิ่งที่เป็นความรู้สาธารณะ มันอาจจะง่ายขึ้นด้วยวิธีนี้โดยไม่คำนึงถึงการใช้งาน
- การ์ดสามารถเป็นสิ่งอันดับหรือสตริงขึ้นอยู่กับคุณ
- มือและสนามเด็กเล่นสามารถเป็นอาร์เรย์หรือสตริงที่มีการคั่น
- ผลลัพธ์จะต้องเป็นดัชนีสองรายการจากรายการมือที่ฉันได้ให้ไว้ (EG [2,1])
- มันอาจถูกส่งกลับเป็นส่วนหนึ่งของฟังก์ชั่นพิมพ์ไปยังคอนโซลหรือเอาท์พุทในลักษณะที่เหมาะสม
- ต้องมีค่าที่แตกต่างกันสองค่าค่าหนึ่งสำหรับมือที่ดีที่สุดของคุณอีกค่าหนึ่งสำหรับค่าที่ดีที่สุด
- 10 อาจถูกแทนด้วย
T
หรือตาม10
ความเหมาะสมสำหรับคุณ - ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
เกณฑ์การชนะ
- นี่คือcode-golf , ไบต์ต่ำสุดที่นับพร้อมไทเบรกของวันที่โพสต์
A
1
ทุกอย่างดูดี
A
และ1
ในบัตรได้รับอนุญาตให้ไปได้หรือไม่11
นอกจากนี้ผมไม่คิดว่ามีจริงๆเหตุผลที่น่าสนใจที่จะต้องมีตัวย่อที่ใบหน้ามากกว่าค่าตัวเลขเช่น