कुछ समय पहले मैंने एक नया बटुआ खरीदा था जो 8 कार्ड (दोनों तरफ 4) रखने में सक्षम है। हालाँकि, मुझे लगता है कि इससे ज्यादा कार्ड हैं और मुझे उन विकल्पों को चुनने की जरूरत है, जिन पर मैं अपने साथ ले जाना चाहता हूं। कुछ कार्ड मैं दूसरों की तुलना में अधिक बार उपयोग करता हूं, लेकिन जिन कार्डों को मैं अपने साथ ले जाना पसंद करता हूं, जरूरी नहीं कि वे जो मैं सबसे ज्यादा उपयोग करता हूं।
चुनौती
कार्डों के ढेर को देखते हुए, मेरे बटुए के लेआउट को मेरी प्राथमिकताओं और प्रतिबंधों को सर्वोत्तम तरीके से वापस करें। लेआउट निम्नानुसार होना चाहिए:
__ __ (row 1)
__ __ (row 2)
__ __ (row 3)
__ __ (row 4)
वर्तमान में मैं निम्नलिखित कार्ड देता हूं - ढेर हमेशा इनमें से एक चयन से मिलकर बनता है:
- 1 पहचान पत्र ( आईडी )
- 1 चालक का लाइसेंस ( DL )
- 2 क्रेडिट कार्ड ( CC) )
- 5 डेबिट कार्ड ( डीसी )
- 1 सार्वजनिक परिवहन कार्ड ( पीसी )
- 1 जिम एक्सेस कार्ड ( GC )
- यादृच्छिक दुकानों और गोदामों ( एमसी ) से 9 सदस्यता कार्ड
मेरी कुछ प्राथमिकताएँ और प्रतिबंध हैं:
- प्राथमिकता के आधार पर छांटे गए कार्ड: आईडी, डीएल, सीसी, डीसी, पीसी, जीसी, एमसी
- उपयोग आवृत्ति द्वारा सॉर्ट किए गए कार्ड: CC, DC, PC, GC, MC, ID, DL
- सुरक्षा कारणों से, मेरे बटुए में डेबिट कार्ड और क्रेडिट कार्ड की कुल संख्या अन्य सभी कार्ड की राशि है कि (मेरे बटुए में जाना होगा की तुलना में अधिक से अधिक 1 अधिक हो सकता है एन डीसी + एन सी सी ≤ एन आईडी + एन डीएल + एन पीसी + एन जीसी + एन एमसी +1)।
- यदि मौजूद है, तो मेरा पहचान पत्र और चालक का लाइसेंस हमेशा पंक्ति 1 में जाना चाहिए। इसका मतलब यह नहीं है कि अन्य कार्ड पंक्ति 1 में स्पॉट पर कब्जा नहीं कर सकते हैं।
- स्टैक से सबसे अधिक उपयोग किए जाने वाले कार्ड हमेशा पंक्ति 4 में जाने चाहिए।
नियम
- कोई भी 2 कार्ड एक ही स्थान पर कब्जा नहीं कर सकते हैं।
- उच्च प्राथमिकता वाले कार्ड हमेशा कम प्राथमिकता वाले लोगों पर पसंद किए जाते हैं, जब तक कि डीसी / सीसी प्रतिबंध में किक न हो।
- पंक्ति 1 पर आईडी / डीएल आवृत्ति नियम को ओवररूल करता है: यदि केवल आईडी प्रदान की जाती है, तो यह पंक्ति 1 में जाएगी और पंक्ति 4 खाली हो जाएगी!
- इनपुट फॉर्मेटिंग को आप किसी भी तरह से कर सकते हैं, जब तक इनपुट स्टैक का क्रम बरकरार रहता है। उदाहरण के लिए
ID,CC,PC,MC,MC,MC,DL
जैसे1ID 1CC 1PC 3MC 1DL 0DC 0GC
या आपूर्ति की जा सकती हैID CC PC MC MC MC DL
। आउटपुट स्वरूपण में कुछ प्रतिबंध हैं: पंक्तियों को सभी को एक नई पंक्ति में शुरू करना चाहिए, कॉलम को किसी तरह से सीमांकित किया जाना चाहिए। खाली स्थानों को किसी भी तरह से पेश किया जा सकता है, जब तक कि यह 4x2 लेआउट को गड़बड़ नहीं करता है।
एक से अधिक समाधान / आदेश हो सकते हैं, यह आपके ऊपर है कि आप किसे आउटपुट के रूप में प्रदान करते हैं।
- आप मान सकते हैं कि एक ही प्रकार के कार्ड हमेशा इनपुट पर समूहीकृत किए जाएंगे।
- उपरोक्त के अलावा, मानक कोड गोल्फ नियम और कमियां लागू होती हैं।
बक्शीश
यदि आप किसी भी कार्ड को वापस करते हैं जो वॉलेट में नहीं गया था, तो आपको 15% अपने बायटेकाउंट को निकालने की अनुमति है । प्रिंट "यह फिट बैठता है!" शेष कार्ड के मामले में नहीं। यह अतिरिक्त आउटपुट रेटुरेंड लेआउट से स्पष्ट रूप से अलग होना चाहिए।
उदाहरण
इनपुट:
ID, DL, CC, GC, MC
2 संभावित आउटपुट:
ID DL DL ID
__ __ or __ MC
MC __ __ __
CC GC GC CC
optional: It fits!
इनपुट:
ID, CC, DC, PC, GC, MC, MC, MC, MC, MC
2 संभावित आउटपुट:
ID MC GC ID
MC MC or MC PC
PC GC MC MC
CC DC DC CC
optional: e.g. (MC, MC) or (2MC)
इनपुट:
DC, DC, CC, CC, GC, DL
2 संभावित आउटपुट:
DL __ GC DL
__ __ or DC __
GC DC __ __
CC CC CC CC
optional: e.g. (DC) or (1DC)
इनपुट:
CC, DC, DC, DC
2 संभावित आउटपुट:
__ __ __ __
__ __ or __ __
__ __ __ __
CC __ __ CC
optional: e.g. (DC, DC, DC) or (3DC)
इनपुट:
CC, CC, MC, MC, MC, MC, MC, MC, PC, DC, DC, DC, DC, DC, GC
2 संभावित आउटपुट:
MC MC MC DC
PC GC or DC GC
DC DC PC MC
CC CC CC CC
optional: e.g. (DC, DC, DC, MC, MC, MC, MC) or (3DC, 4MC)
इनपुट:
MC, MC, MC, MC, MC, MC, MC
2 संभावित आउटपुट:
__ MC MC MC
MC MC or MC MC
MC MC MC __
MC MC MC MC
optional: It fits!
इनपुट:
ID, CC
2 संभावित आउटपुट:
ID __ __ ID
__ __ or __ __
__ __ __ __
CC __ CC __
optional: It fits!
ये है कोड गोल्फ, इसलिए सबसे छोटा कोड (बाइट्स में) जीतता है।