रॉड दो खिलाड़ियों के बीच एक कार्ड गेम का संचालन कर रहा है: जॉर्ज और टिम। वर्तमान में, टिम कार्ड फेरबदल कर रहा है। रॉड को संदेह है कि टिम धोखा देने की कोशिश कर रहा है, इसलिए उसे यह जांचने के लिए आपकी मदद चाहिए कि फेरबदल उचित है।
टिम ओवरहैंडिंग फेरबदल कर रहा है: वह डेक के नीचे से कार्ड का ढेर काटता है, फिर डेक के शीर्ष पर ढेर के ऊपर से विभिन्न हिस्सों को काटता है और प्रक्रिया को कुछ बार दोहराता है।
रॉड ईगल-आइड है और यह देख सकता है कि टिम हर बार कितने कार्ड काट रहा है, हालांकि वह गणना नहीं कर सकता है और जितनी जल्दी हो सके कार्ड का ट्रैक रख सकता है। यह वह जगह है जहां आप आते हैं: रॉड आपको एक कार्यक्रम या फ़ंक्शन लिखना चाहता है जो विस्तृत फेरबदल की जानकारी प्राप्त करता है और निर्धारित करता है कि क्या फेरबदल उचित, कमजोर या एक चाल है।
- यदि फेरबदल के बाद, आसन्न कार्ड के 25 से कम जोड़े आसन्न (उसी क्रम में) रहते हैं, तो फेरबदल उचित है और खेल चल सकता है।
- यदि आसन्न कार्ड के कम से कम 25 (लेकिन सभी नहीं) जोड़े आसन्न रहते हैं, तो फेरबदल कमजोर होता है और रॉड टिम को सिर पर बांधेगा और उसे कुछ और फेरबदल करने के लिए कहेगा।
- यदि अंत में सभी कार्ड एक ही स्थिति में रहते हैं, तो टिम स्पष्ट रूप से धोखा दे रहा है और रॉड उसे एक बड़े ट्राउट के साथ मिटा देगा।
यह कोड गोल्फ है, इसलिए सबसे छोटा कोड जीतता है।
इनपुट:
आपको कई लाइनों पर, 0 और 52 (दोनों अनन्य) के बीच की संख्या को अंतरिक्ष से अलग किया जाएगा, जहां प्रत्येक पंक्ति फेरबदल के एक दौर का प्रतिनिधित्व करती है जो शुरू होती है और सभी कार्डों के साथ समाप्त होती है।
प्रत्येक पंक्ति में, पहली संख्या डेक के नीचे से कार्ड की कटौती की संख्या है, और प्रत्येक बाद की संख्या कार्ड की एक संख्या है जो वह अपने हाथ से डेक के शीर्ष पर ड्रॉप करता है। यदि कोई कार्ड एक लाइन पर अंतिम संख्या के बाद रहता है, तो आपको यह मान लेना चाहिए कि टिम उन्हें डेक के ऊपर रखता है।
इनपुट मान्य होने की गारंटी है। संख्याओं की कम से कम एक पंक्ति होती है, और प्रत्येक पंक्ति में कम से कम 2 संख्याएँ होती हैं। प्रत्येक पंक्ति पर पहली संख्या एक ही पंक्ति के सभी अन्य संख्याओं के योग से छोटी नहीं है। एक अनुगामी न्यूलाइन वैकल्पिक है, आप मान सकते हैं कि इनपुट में एक है या इसमें एक नहीं है।
आउटपुट:
यदि फेरबदल कमजोर है और "चाल" यदि टिम सभी कार्डों को एक ही क्रम में रख रहे हैं तो आपके कार्यक्रम को "निष्पक्ष" प्रिंट करना चाहिए या "वापस" आना चाहिए। एक अनुगामी न्यूलाइन वैकल्पिक है।
उदाहरण:
डेक को 52 कार्ड माना जाता है, लेकिन प्रदर्शन प्रयोजनों के लिए, मैं 10 कार्ड के छोटे डेक का उपयोग करूंगा।
इनपुट:
5 3 1
4 2 2
प्रारंभिक डेक, ऊपर से देखे गए: 0 1 2 3 4 5 6 7 8 9
5
➜ 0 1 2 3 4
( 5 6 7 8 9
हाथ में)
3
➜ 5 6 7 0 1 2 3 4
( 8 9
हाथ में)
1
➜ 8 5 6 7 0 1 2 3 4
( 9
हाथ में)
लाइन ➜ के अंत 9 8 5 6 7 0 1 2 3 4
4
➜ 9 8 5 6 7 0
( 1 2 3 4
हाथ में)
2
➜ 1 2 9 8 5 6 7 0
( 3 4
हाथ में)
2
➜ 3 4 1 2 9 8 5 6 7 0
4 जोड़े आसन्न रहते हैं:(3 4) (1 2) (5 6) (6 7)
परीक्षण के मामलों:
43 5 5 5 5 5 5 5 5
43 5 5 5 5 5 5 5 5
43 5 5 5 5 5 5 5 5
आउटपुट: fair
43 5 5 5 5 5 5 5 5
43 5 5 5 5 5 5 5 5
43 5 5 5 5 5 5 5
आउटपुट: weak
29 24
19 18
38 2 1 8 13 6 4
47 15 16 5 2 1 7
34 22 9 3
44 9 10 11 3 1 7
33 18 4 2 3 3
आउटपुट: fair
24 6 12 4
25 3 19
36 4 25 2
19 11 1 3
15 9 3
37 5 27
आउटपुट: weak
26 13
26 13
26 13
26 13
आउटपुट: trick
50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
आउटपुट: weak
50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
आउटपुट: trick
50 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
49 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
आउटपुट: fair
आवश्यकताएँ:
- यदि आप एक फ़ंक्शन लिखते हैं, तो यह या तो मानक इनपुट से पढ़ सकता है या एकल स्ट्रिंग पैरामीटर के रूप में इनपुट प्राप्त कर सकता है। साथ ही, फ़ंक्शन आउटपुट को प्रिंट कर सकता है या वापस कर सकता है।
- लिनक्स में प्रोग्राम को स्वतंत्र रूप से उपलब्ध सॉफ्टवेयर का उपयोग करके चलाया जा सकता है।
- स्रोत कोड को केवल ASCII वर्णों का उपयोग करना चाहिए।
- कोई मानक खामियां नहीं हैं।