आपका कार्य, अंकों का एक वर्ग ग्रिड दिया गया है ( 0-9), उन तरीकों में से एक का उत्पादन जो अंकों को इस तरह से वर्गीकृत किया जा सकता है:
- प्रत्येक अंक ठीक एक समूह का हिस्सा है
- सभी समूहों के अंकों की संख्या समान है
- सभी समूह एक बहुभुज जैसी आकृति से बंधे होते हैं (इसका मतलब है कि समूह में प्रत्येक अंक एक ही समूह के [बाएं, दाएं, ऊपर, नीचे] कम से कम एक अन्य अंक के बगल में है, जब तक कि प्रत्येक समूह में 1 तत्व न हो)।
- सभी समूहों का योग समान है
इनपुट ग्रिड हमेशा एक वर्ग होगा: आप अपनी पसंद का कोई भी इनपुट तरीका चुन सकते हैं (जिसमें फ़ंक्शन या विधि के लिए तर्कों की आपूर्ति करना शामिल है)। इसके अलावा, इनपुट उन समूहों की संख्या की आपूर्ति करेगा जिन्हें आपके प्रोग्राम को अंकों को समूह में बदलना चाहिए।
उदाहरण इनपुट:
मान लीजिए कि आपका इनपुट फॉर्मेट है stringOfDigits numberOfGroups।
एक उदाहरण इनपुट होगा:
156790809 3
जो (एक ग्रिड में sqrt(9) * sqrt(9)) अनुवाद करेगा
1 5 6
7 9 0
8 0 9
जिसे आपको 3 समूहों में विभाजित करना होगा, जिनमें से प्रत्येक में 9 / 3 = 3समान राशि वाले तत्व होने चाहिए ।
आउटपुट: आउटपुट अंकों का तार होना चाहिए, वैकल्पिक स्थानों के साथ और स्वरूपण के लिए नई सुर्खियाँ, प्रत्येक अंक के साथ a-zउसके समूह को इंगित करने वाला एक पत्र । numberOfTotalDigits / numberOfGroupsप्रत्येक समूह में बिल्कुल तत्व होने चाहिए । आपको कभी भी 26 से अधिक समूहों में कुछ विभाजित नहीं करना होगा।
उदाहरण आउटपुट:
1a 5a 6b
7c 9a 0b
8c 0c 9b
ध्यान दें कि as के साथ bs और bs के साथ सभी s को बदलना aसमान रूप से मान्य है। जब तक प्रत्येक समूह को एक अलग पत्र द्वारा दर्शाया जाता है, तब तक आउटपुट मान्य होता है।
इसके अलावा, मैं उम्मीद करता हूं कि अधिकांश प्रोग्राम इस की तर्ज पर कुछ आउटपुट करें, क्योंकि न्यूलाइन्स / स्पेस वैकल्पिक हैं:
1a5a6b7c9a0b8c0c9b
इस मामले में, समूह के सभी अंक जोड़ने a, bया c15. इसके अलावा बनाता है, सभी समूहों कुछ बहुभुज से बंधे हैं।
अमान्य आउटपुट:
1a 5a 6b
7c 9a 0c
8c 0b 9b
क्योंकि समूह बहुभुज नहीं बनाते हैं (विशेष रूप से, 6bपृथक है और 0cअकेला भी है)।
1a 5a 6b
7c 9a 0b
8c 0b 9b
क्योंकि समूह bमें 4 तत्व हैं जबकि cकेवल 2 हैं।
आदि।
यदि कोई वैध समाधान नहीं है, तो आपका कार्यक्रम कुछ भी कर सकता है (यानी रुकना, दुर्घटना होना, हमेशा के लिए चलना) लेकिन यदि आपका कार्यक्रम आपके स्कोर के लिए Noneकोई वैध समाधान नहीं है, तो प्रिंट करता है -15।
यदि एक से अधिक समाधान हैं, तो आपको केवल एक प्रिंट करना होगा, लेकिन -20यदि आपका प्रोग्राम उन सभी को प्रिंट करता है, तो वे कुछ सीमांकक द्वारा अलग हो जाते हैं।
यह कोड गोल्फ है, इसलिए सबसे छोटा कोड (बोनस के साथ) जीतता है!
156790889 3ऐसा लगता है जैसे यह होना चाहिए156790809 3
6bअलग-थलग है, नहीं0b।