परिचय:
मैं गंदी पहेलियां इकट्ठा करता हूं। चीनी कंपनियों द्वारा ज्यादातर ट्विस्टी पहेलियां बनाई और बेची जाती हैं। अधिकांश प्रसिद्ध कंपनियां पहेली डिजाइनरों से अनुमति देती हैं कि वे अपने डिजाइन का निर्माण करें और बाजार पर एक उत्पाद की दिशा में एक साथ काम करें। इस मामले में, पहेली डिजाइनर निश्चित रूप से बहुत खुश और गर्वित हैं कि उनकी पहेली में से एक ने बाजार को हिट किया।
हालाँकि, चीनी कंपनियां भी हैं जो नॉक-ऑफ पज़ल बनाती हैं। ये नॉक-ऑफ या तो मूल निर्माता से अनुमति के बिना उपयोग किए जाने वाले डिज़ाइन हैं, या पहले से मौजूद पहेली की सर्वथा सस्ती निम्न गुणवत्ता वाली प्रतियां हैं।
चुनौती:
हम संख्या रहे हैं कि एक विशेष क्रम में 'जारी किया' (बाएं से दाएं की मौलिकता का निर्धारण करने के लिए जा रहे हैं † )।
पूर्णांक, समूह की सूची को देखते हुए और उनकी मौलिकता के आधार पर उनका उत्पादन करते हैं।
संख्याओं की मौलिकता कैसे निर्धारित की जाती है?
- क्या एक संख्या पहले की संख्या का एक सटीक डुप्लिकेट है? समूह (सबसे कम मूल), जहां समूह अन्य सभी समूहों के बाद पीछे चल रहा है।
- क्या कोई संख्या पहले वाली संख्या का डुप्लिकेट है, लेकिन इसके बजाय इसका नकारात्मक (यानी मूल संख्या , लेकिन अब , या इसके विपरीत)? समूह ।
- क्या एक या एक से अधिक पूर्व निरपेक्ष संख्या को समाप्त करके संख्या का निरपेक्ष मान बनाया जा सकता है, और क्या यह पहले उल्लेखित समूहों या हिस्सा नहीं है ? समूह , जहां (और ) में उपयोग किए जाने वाले अलग-अलग नंबरों की राशि है ।
- क्या उपरोक्त किसी भी समूह में संख्या फिट नहीं है, इसलिए इस प्रकार पूरी तरह से अद्वितीय है? समूह (सबसे मूल), जो अन्य सभी समूहों से पहले अग्रणी है।
यह बहुत अस्पष्ट लग सकता है, इसलिए यहां एक कदम-दर-चरण उदाहरण दिया गया है :
इनपुट-सूची: [34,9,4,-34,19,-199,34,-213,94,1934499,213,3,21,-2134,44449,44]
34
पहली संख्या है, जो हमेशा मूल और समूह । इस प्रकार उत्पादन अब तक:[[34]]
9
मूल भी है:[[34,9]]
4
मूल भी है:[[34,9,4]]
-34
पहले की संख्या का ऋणात्मक है34
, इसलिए यह समूह :[[34,9,4],[-34]]
19
मूल है:[[34,9,4,19],[-34]]
-199
पहले के दो नंबरों से बन सकता है19
और9
इसलिए यह समूह :[[34,9,4,19],[-199],[-34]]
34
एक पूर्व संख्या की एक सटीक प्रति है, इसलिए यह समूह :[[34,9,4,19],[-199],[-34],[34]]
-213
मूल है:[[34,9,4,19,-213],[-199],[-34],[34]]
94
पहले के दो नंबरों से बन सकता है9
और4
इसलिए यह समूह :[[34,9,4,19,-213],[-199,94],[-34],[34]]
1934499
चार पहले नंबर के द्वारा गठित किया जा सकता19
,34
,4
, और दो बार9
, तो यह समूह में है :[[34,9,4,19,-213],[19499],[-199,94],[-34],[34]]
213
पहले की संख्या का ऋणात्मक है-213
, इसलिए यह समूह :[[34,9,4,19,-213],[1934499],[-199,94],[-34,213],[34]]
3
मूल है:[[34,9,4,19,-213,3],[1934499],[-199,94],[-34,213],[34]]
21
मूल है:[[34,9,4,19,-213,3,21],[1934499],[-199,94],[-34,213],[34]]
-2134
पहले के दो नंबरों213
और4
(या तीन पहले के नंबरों21
,3
और4
, लेकिन हम हमेशा समरूपता निर्धारित करने के लिए कम से कम मात्रा का उपयोग करते हैं), इसलिए यह समूह :[[34,9,4,19,-213,3,21],[1934499],[-199,94,-2134],[-34,213],[34]]
44449
पहले के दो नंबरों से चार बार बनाया जा सकता है4
और9
इसलिए यह समूह :[[34,9,4,19,-213,3,21],[1934499],[-199,94,-2134,44449],[-34,213],[34]]
44
एक ही पूर्व संख्या के आधार पर4
दो बार दोहराया जा सकता है , इसलिए यह समूह :[[34,9,4,19,-213,3,21],[1934499],[-199,94,-2134,44449],[44],[-34,213],[34]]
इसलिए इनपुट के [34,9,4,-34,19,-199,34,-213,94,1934499,213,3,21,-2134,44449,44]
लिए आउटपुट है [[34,9,4,19,-213,3,21],[1934499],[-199,94,-2134,44449],[44],[-34,213],[34]]
।
चुनौती नियम:
- I / O लचीला है। आप किसी सूची / सरणी / पूर्णांक या स्ट्रीम की धारा के रूप में इनपुट कर सकते हैं, उन्हें एक-एक करके STDIN, आदि के माध्यम से इनपुट कर सकते हैं। आउटपुट कुंजी के रूप में समूहों के साथ एक मानचित्र हो सकता है, इस चुनौती में उदाहरण और परीक्षण मामलों के रूप में एक नेस्टेड सूची, मुद्रित न्यूलाइन अलग, आदि।
- आपको इनपुट-सूची को उल्टे क्रम में लेने की अनुमति है (शायद स्टैक-आधारित भाषाओं के लिए उपयोगी)। Of किस मामले में उल्लिखित बाएं-से-दाएं निश्चित रूप से दाएं-बाएं है।
- आप पूर्णांक के लिए उदाहरण में देख सकते हैं
-2134
, हम हमेशा समूह एक संख्या के रूप कुछ संभव के रूप में के साथ अन्य संख्या का एक संयोजन है कि (द्वारा गठित213
और4
- दो नंबर, और से नहीं21
,3
और4
- तीन नंबर)। - जैसा कि आप पूर्णांक के उदाहरण पर देख सकते हैं
1934499
, आप9
कई बार (इस मामले में) एक पूर्व संख्या (44449
चार4
एस और9
उदाहरण में उपयोग के साथ समान) का उपयोग कर सकते हैं । हालाँकि समूह को निर्धारित करने के लिए उन्हें केवल एक बार गिना जाता है। - आपको खाली समूहों के लिए आउटपुट में रिक्त आंतरिक सूची रखने की अनुमति नहीं है। इसलिए परीक्षण के मामले
[1,58,85,-8,5,8585,5885,518]
में परिणाम नहीं हो सकता है[[1,58,85,8,5],[518],[5885],[8585],[],[]]
, जहां खाली समूह और , और ऊपर दिए गए उदाहरण के परिणामस्वरूप परिणाम नहीं हो सकता है , जहां खाली समूह ।एक्स - 3[[34,9,4,19,-213,3,21],[1934499],[],[-199,94,-2134,44449],[44],[-34,213],[34]]
- समूहों का क्रम सख्त है (जब तक कि आप एक मानचित्र का उपयोग नहीं करते हैं, क्योंकि तब तक समूह कुंजियों से काटा जा सकता है), लेकिन समूह के भीतर संख्याओं का क्रम किसी भी क्रम में हो सकता है। तो उपरोक्त उदाहरण में
[34,9,4,19,-213,3,21]
समूह के लिए भी या हो सकता है ।[21,3,-213,19,4,9,34]
[-213,4,34,19,9,21,3]
- आपको गारंटी दी जाती है कि कभी भी कोई संख्या नहीं होगी जो कि पिछले नौ से अधिक संख्याओं से बन सकती है। इसलिए आपके पास कभी भी समूह नहीं होंगे, और संभव समूहों की सबसे बड़ी राशि 12 है:
- आप मान सकते हैं कि पूर्णांक अधिकतम सीमा में 32 बिट्स होंगे, इसलिए सीमा के भीतर
[−2147483648,2147483647]
।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ना अत्यधिक अनुशंसित है।
परीक्षण के मामलों:
Input: [34,9,4,-34,19,-199,34,-213,94,1934499,213,3,21,-2134,44449,44]
Output: [[34,9,4,19,-213,3,21],[1934499],[-199,94,-2134,44449],[44],[-34,213],[34]]
Input: [17,21,3,-317,317,2,3,117,14,-4,-232,-43,317]
Output: [[17,21,3,2,117,14,-4],[-317,-232,-43],[317],[3,317]]
Input: [2,4,8,10,12,-12,-102,488,10824]
Output: [[2,4,8,10,12],[10824],[-102,488],[-12]]
Input: [0,100,-100,10000,-100,1001000]
Output: [[0,100],[10000,1001000],[-100],[-100]]
Input: [1,58,85,-8,5,8585,5885,518]
Output: [[1,58,85,-8,5],[518],[5885],[8585]]
Input: [4,-4,44,5,54]
Output: [[4,5],[54],[44],[-4]]
[1, 1111111111]
X + 1
सटीक प्रतियों के लिए एक विशेष समूह है, औरX
अन्य संख्याओं के लिए एक समूह है जो एक एकल संख्या की प्रतियों से बन सकता है, जैसे कि इसकी उपेक्षा?