पीपीसीजी क्लॉस को उनके प्रस्तुतकर्ताओं को वितरित करने में मदद करें
अवलोकन
PPCG क्लॉस अपने उपहारों को देने में देर से चल रहा है क्योंकि आजकल हमारे पास बहुत सारे अजीब छोटे किडोज़ हैं। यह PPCG क्लॉस के लिए बहुत मुश्किल हो जाता है ताकि सभी प्रस्तुतियों को सही स्थान पर लाया जा सके। आपकी चुनौती उसे सही ढंग से प्रस्तुत करने में मदद करने के लिए है।
जटिलता
उन बच्चों का प्रतिनिधित्व करने वाले पूंजीकृत पहले नामों की एक सूची को देखते हुए, जिन्हें वह संख्याओं द्वारा प्रस्तुत करने और प्रस्तुत करने की सूची देने वाला है, आपको यह पता लगाना चाहिए कि उक्त बच्चों के बीच उपहार कैसे वितरित करें। बेशक वहाँ एक पकड़ है, हालांकि ...।
आजकल बच्चों को अचार मिल रहा है, अगर किडो एक अजीब साथी है (पहले प्रारंभिक ASCII- कोड विषम है) तो वह एक अजीब उपहार चाहता है! यदि वह एक भी साथी है (पहले प्रारंभिक ASCII-code भी है) तो उसे स्पष्ट रूप से एक भी दिया जाना चाहिए! किसी भी बच्चे को 3 से विभाज्य, हालांकि, एक शरारती, शरारती बालक है, इसलिए पीपीसीजी क्लॉस को उन्हें अगले साल व्यवहार करने के लिए पूरी तरह से अनदेखा करना चाहिए। अपने मार्ग को सफल मानने के लिए उसे सभी बच्चों को सभी उपहार देने चाहिए जो उनके योग्य हों और किसी एक बच्चे को बहुत सारे उपहार नहीं देने चाहिए। यदि किसी भी बच्चे को अपने साथियों से 3+ अधिक उपहार मिलते हैं, तो वह अगले साल एक शरारती बच्चा बनने का जोखिम उठाता है, और यह सही नहीं है! इसके अलावा, अगर किसी अच्छे बच्चे को एक और अच्छा बच्चा नहीं मिलता है, तो वह भी उस बच्चे की बुराई कर देगा।
उदाहरण
बच्चे इस प्रकार हैं:
Kids = ["Amy", "Betty", "Clyde", "Dave", "Francine"] = [A,B,C,D,F] = [65,66,67,68,70]
- बेट्टी मानवता का बैन है, स्पष्ट रूप से 3 नंबर के साथ cahoots में।
- एमी और क्लाइड जन्म के बाद से ही अजीब हैं और यहां तक कि उपहार प्राप्त करने से नफरत करेंगे।
- डेव और फ्रांसिन सामान्य हैं, यहां तक कि, बच्चे; वे केवल प्रस्तुत करना चाहिए!
प्रस्तुत इस प्रकार हैं:
Presents = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
एक संभावित उत्पादन होगा:
[
['Amy',[1,3,5]],
['Betty',[]],
['Clyde',[7,9,11,13]],
['Dave',[2,4,6,8]],
['Francine',[10,12,14]]
]
अपवाद परिदृश्य
हालाँकि, सिर्फ इसलिए कि PPCG क्लॉस तैयार और तैयार है, इसका मतलब PPCG क्लॉस नहीं हो सकता है। यहां उन अपवाद परिदृश्यों की एक सूची दी गई है जहां आपको एक संदेश के साथ PPCG क्लॉस के लिए बुरी खबर को तोड़ना होगा:
PPCGmas is cancelled!
निम्नलिखित परिदृश्यों के परिणामस्वरूप क्रिसमस रद्द हो जाएगा:
- बच्चे नहीं हैं।
[],[1,2,3]- Wellp, वे शुल्क।
- अच्छे बच्चे नहीं हैं।
["Betty"],[1,2,3]- गंभीरता से, बेट्टी पेंच।
- अच्छे बच्चों की तुलना में कोई प्रस्तुतिकरण या कम प्रस्तुतियाँ नहीं हैं।
["Amy","Charles"],[]- एक या एक से अधिक कोई उपहार प्राप्त नहीं होगा।["Amy","Charles"],[1]- एक या एक से अधिक कोई उपहार प्राप्त नहीं होगा।
- सभी अच्छे बच्चों को संतुष्ट करने के लिए विषम / भी प्रस्तुत नहीं हैं।
["Amy","Dave"],[2,4,6]- एमी पर शिकंजा कसा गया है।
यहां उन परिदृश्यों की सूची दी गई है, जिन्हें PPCGmas को प्रभावित नहीं करना चाहिए:
- बचे हुए प्रस्तुत (सभी बच्चों को अधिकतम राशि प्राप्त की जानी चाहिए)।
["Amy","Dave"],[2,4,6,8,10,12,14,7,9] = [["Amy",[7,9]],["Dave",[2,4,6,8]]]
मुख्य नियम दोहराए गए
- अच्छे बच्चे या तो या भी विषम होते हैं, जो उनके पहले प्रारंभिक पर आधारित होते हैं।
- बुरे बच्चों में 3 के द्वारा पहली प्रारंभिक पूर्ण विभाज्य है।
- सभी अच्छे बच्चों को कम से कम एक वर्तमान प्राप्त करना चाहिए।
- कोई भी अच्छा बच्चा किसी भी अन्य अच्छे बच्चे की तुलना में 2 से अधिक प्रस्तुत करने के लिए नहीं है।
- यदि बचे हुए प्रस्तुत किए जाने हैं तो आपको अधिकतम 4 का उल्लंघन किए बिना उन्हें वितरित करना होगा।
- बुरे बच्चों को बिलकुल भी प्रस्तुत नहीं करना चाहिए।
- यदि इनमें से किसी का भी उल्लंघन किया जाता है, तो आपको इसका उत्पादन अवश्य करना चाहिए
PPCGmas is cancelled!।
I / O प्रारूप आवश्यकताएँ
- 1 इनपुट में पहले नामों का एक सरणी / सूची / अल्पविराम-सीमांकित स्ट्रिंग होना चाहिए, न कि केवल शुरुआती।
- दूसरा इनपुट सकारात्मक पूर्णांकों की एक सरणी / सूची / अल्पविराम-सीमांकित स्ट्रिंग होना चाहिए।
- आउटपुट आपके द्वारा प्रस्तुत किए गए अर्थों को कैसे वितरित करता है, इसका कोई भी संकेत हो सकता है; या
PPCGmas is Cancelled!।
जीत का मानदंड: कोड-गोल्फ
TL; DR: बेट्टी एक झटका है, प्रतिस्पर्धा मत करो।
3? संपादित करें : यदि किसी को "बेटी को पेंच" करना चाहिए, तो वह चुनौती में क्यों है?