इस चुनौती से प्रेरित है और इस एक से संबंधित है ।
पृष्ठभूमि
बडुगी [bugduːɡiː] एक लो-बॉल ड्रा-पोकर संस्करण है।
ऑनलाइन पोकर $ 1K घटना का पोकरस्टार्स विश्व कप 3 घंटे के भीतर शुरू होता है और मुझे यह जानना होगा कि मेरे हाथ कितने अच्छे हैं!
खेल चार सूट और तेरह रैंक के 52 कार्ड के मानक डेक का उपयोग करता है । सूट अनियंत्रित हैं और लेबल किए जाएंगे cdhs
; रैंक - उच्चतम K
से निम्नतम A
- क्रमबद्ध हैं KQJT98765432A
। इस तरह के रूप में पूर्ण डेक का प्रतिनिधित्व किया जा सकता है (अंतरिक्ष अलग):
Kc Kd Kh Ks Qc Qd Qh Qs Jc Jd Jh Js Tc Td Th Ts 9c 9d 9h 9s 8c 8d 8h 8s 7c 7d 7h 7s 6c 6d 6h 6s 5c 5d 5h 5s 4c 4d 4h 4s 3c 3d 3h 3s 2c 2d 2h 2s Ac Ad Ah As
प्रत्येक खिलाड़ी को डेक से चार कार्ड दिए जाते हैं, तीन ड्रॉइंग राउंड के साथ चार बेटिंग राउंड होते हैं (बीच में एक खिलाड़ी के पास हमेशा चार कार्ड होते हैं, उनके पास डीलर से प्रत्येक के साथ नए कार्ड के 0-4 बदलने का विकल्प होता है के तीन ड्राइंग दौर)।
अगर इन सभी राउंड के बाद भी एक से अधिक खिलाड़ी सक्रिय हैं, तो एक तसलीम है, जिसमें सबसे मजबूत हाथ (दांव) बाजी जीतते हैं।
खेल कम गेंद खेला जाता है, इसलिए सबसे कम हाथ जीतता है, और जैसा कि ऊपर बताया गया है A
(इक्का) कम है। इसके अलावा हैंड रैंकिंग पोकर के अन्य रूपों से अलग है, और शुरुआती लोगों के लिए कुछ भ्रामक हो सकती है।
खेला गया "हाथ" सबसे कम रैंक वाला संयोजन है जो दोनों "ऑफ-सूट" (सभी-अलग-अलग सूट) और "ऑफ-रैंक" (सभी-अलग-अलग-रैंक) कार्डों की उच्चतम संख्या से संभव है (चार आयोजित कार्ड से) )। वह है: यदि कोई दोनों अलग-अलग सूट के चार कार्ड रखता है और अलग - अलग रैंक वाले के पास 4-कार्ड हाथ होता है (जिसे "बडुगी" कहा जाता है); यदि किसी के पास 4-कार्ड हाथ नहीं है, लेकिन उसके पास अलग-अलग सूट और अलग - अलग रैंक के तीन कार्डों के कुछ सेट या सेट हैं, तो एक में 3-कार्ड हाथ है (एक अपना सर्वश्रेष्ठ चुनता है); यदि किसी के पास न तो 4-कार्ड हाथ है और न ही 3-कार्ड हाथ है, तो शायद 2-कार्ड हाथ है, लेकिन यदि किसी के पास 1-कार्ड हाथ नहीं है।
जैसा कि सबसे अच्छा संभव हाथ 4-कार्ड हाथ है
4-3-2-A
- चार अलग - अलग सूट के सबसे कम -रैंक वाले कार्ड , जिसे अक्सर "नंबर -1" कहा जाता है। सबसे कमजोर संभव हाथ 1-कार्ड हाथ होगाK
और केवल ठीक से पकड़कर संभव हैKc Kd Kh Ks
।ध्यान दें कि
4c 3h 2c As
है नहीं एक "नंबर -1", के बाद से4c
और2c
एक ही सूट के हैं, लेकिन यह है 3-कार्ड हाथ के सबसे मजबूत,3-2-A
है, यह दूसरे के साथ ड्रॉ3-2-1
रों (तरहKh 3d 2s Ah
) और अन्य सभी 3-कार्ड हाथ धड़कता है लेकिन सभी 4-कार्ड हाथों को खो देता है (जो जितना कमजोर हो सकता हैK-Q-J-T
)।- अन्य संभावित 3-कार्ड हाथ से बनाया जा सकता
4c 3h 2c As
है4-3-A
, लेकिन यह कमजोर (उच्च) है इसलिए चुना नहीं गया है।
- अन्य संभावित 3-कार्ड हाथ से बनाया जा सकता
इसी तरह
8d 6h 3s 2h
एक 3-कार्ड हाथ के रूप में खेला जाता है8-3-2
- आकार 3 के दो ऑफ-रैंक ऑफ-सूट संयोजन हैं और तीन (या "ट्रे") की तुलना में8-3-2
बेहतर (कम)8-6-3
है जो छह से कम है।
एक दूसरे के खिलाफ हाथों की तुलना करना एक ही तर्क का अनुसरण करता है - कोई भी 4-कार्ड किसी भी 3-कार्ड को हराता है, कोई भी 3-कार्ड किसी भी 2-कार्ड को धड़कता है और किसी भी 2-कार्ड को किसी भी 1-कार्ड को धड़कता है, जबकि उपयोग किए गए कार्डों की समान संख्या के हाथ हैं उनकी उच्चतम रैंक से उनकी सबसे कम रैंक की तुलना (उदाहरण के लिए: 8-4-2
बीट्स 8-5-A
लेकिन किसी भी 8-4-A
, 8-3-2
या नहीं 7-6-5
)
चुनौती:
चार कार्डों में से प्रत्येक को दो अव्यवस्थित-संग्रह को देखते हुए, एक (ओं) की पहचान करें, जो एक बदूगी तसलीम को जीतते हैं (दोनों की पहचान करें यदि यह एक ड्रॉ है)।
इनपुट कुछ भी उचित हो सकता है:
- सभी आठ कार्डों की एक स्ट्रिंग के रूप में ऊपर के साथ (या रिक्त स्थान के बिना) बाएं चार एक हाथ और दूसरे के साथ दाईं ओर (एक वैकल्पिक विभाजक के साथ); या एक ही फैशन में पात्रों की एक सूची
- दो तार की एक सूची - एक प्रति हाथ, या एक ही फैशन में पात्रों की सूची की एक सूची
- दो अलग तार या सूची आदानों, एक हाथ प्रति
- हाथों के कार्ड पहले से ही अलग हो सकते हैं (इसलिए सूचियों की सूची ठीक है)
नोट, हालांकि:
- इनपुट से पहले कार्डों को किसी भी क्रम में व्यवस्थित नहीं किया जा सकता है
- ... और सूट और रैंक यहां निर्दिष्ट वर्ण लेबल के रूप में तय किए गए हैं - यदि आपकी भाषा ऐसे निर्माणों का समर्थन नहीं करती है तो बस कुछ उचित सुझाव दें और पूछें कि क्या यह स्वीकार्य विकल्प है, जो आपकी भाषाओं में बाधा है।
आउटपुट या तो होना चाहिए
- इनपुट के रूप में एक ही स्वरूपित किया गया, या उसके बाद एक मुद्रित प्रतिनिधित्व; या
- के पास तीन अलग और संगत परिणामों में से एक हो (जैसे:
"left"
,"right"
,"both"
, या1
,2
,3
, आदि)
वास्तव में - जब तक यह स्पष्ट है कि दोनों में से किस इनपुट की पहचान की जा रही है, यह ठीक होना चाहिए।
परीक्षण के मामलों
input -> output
(notes)
----------------------------------------------------------------------------
3c 2s 4d Ah - As 3h 2d 4h -> 3c 2s 4d Ah
(4-card 4-3-2-A beats 3-card 3-2-A)
3c 2s 4d Ah - As 2c 3d 4h -> 3c 2s 4d Ah - As 2c 3d 4h
(4-card 4-3-2-A draws with 4-card 4-3-2-A)
2d Ac 4h 3c - Kh Ad 9s 2c -> Kh Ad 9s 2c
(3-card 4-2-A loses to 4-card K-9-2-A)
Kc Tc Qc Jc - Ac Ad Ah As -> Ac Ad Ah As
(1-card T loses to 1-card A)
9c 9h Qc Qh - Qs Kh Jh Kd -> Qs Kh Jh Kd
(2-card Q-9 loses to 3-card K-Q-J)
2d 5h 7c 5s - 2h 3c 8d 6c -> 2d 5h 7c 5s
(3-card 7-5-2 beats 3-card 8-3-2)
3s 6c 2d Js - 6h Jd 3c 2s -> 6h Jd 3c 2s
(3-card 6-3-2 loses to 4-card J-6-3-2)
Ah 6d 4d Ac - 3h 2c 3s 2s -> 3h 2c 3s 2s
(2-card 4-A loses to 2-card 3-2)
2h 8h 6h 4h - 6d 2d 5d 8d -> 2h 8h 6h 4h - 6d 2d 5d 8d
(1-card 2 = 1-card 2)
ये है कोड गोल्फ, इसलिए बाइट्स में सबसे छोटा कोड प्रति भाषा जीतता है, और सबसे छोटा कोड समग्र जीतता है। गोल्फिंग भाषाओं को अन्य भाषाओं में सबमिट करने से न दें, और मज़े करें!
O
सामने जोड़ सकते हैं ।
[['3c', '2s', '4d', 'Ah'], ['As', '3h', '2d', '4h']]
उचित है?