पृष्ठभूमि
ऑक्टेव द्वारा प्रेरित (और, विस्तार से, MATL की) सत्य / मिथ्या मैट्रिस की बहुत सुविधाजनक व्याख्या, जेली को, (ऑक्टेव-शैली सभी ) परमाणु मिला।
And इनपुट के रूप में एक सरणी लेता है और 1 रिटर्न देता है यदि सरणी गैर-रिक्त है और पेड़ की संरचना में कहीं भी संख्या 0 (पूर्णांक, फ्लोट या जटिल) शामिल नहीं है ; अन्यथा, यह 0 देता है ।
उदाहरण के लिए, सरणी [[]] सत्य है क्योंकि यह गैर-रिक्त है और इसमें कोई शून्य नहीं है, लेकिन [[0]] मिथ्या है क्योंकि इसमें अंतरतम स्तर पर एक 0 होता है।
कार्य
एक में प्रोग्रामिंग भाषा अपनी पसंद का एक पूर्ण कार्यक्रम या एक समारोह है कि एक संभवतः रिक्त होता है, की संभवतः दांतेदार सरणी लेता लिखने पूर्णांकों और इनपुट के रूप में प्रिंट या रिटर्न एक truthy या falsy मान दर्शाता है कि यदि Ȧ वापसी होगी 1 या 0 क्रमश।
आपका सबमिशन निम्नलिखित नियमों का पालन करना चाहिए।
सत्य और मिथ्या मूल्य सभी आदानों के लिए संगत होना चाहिए , अर्थात, सभी सरणियाँ जिसके लिए 1 रिटर्न 1 को समान सत्य मान पर मैप करना होगा, और सभी सरणियों के लिए 0 रिटर्न 0 एक ही गलत मूल्य पर मैप करना होगा।
चूंकि पूर्ण कार्यक्रम केवल इनपुट के रूप में सरणियों के स्ट्रिंग प्रतिनिधित्व ले सकते हैं, यह अनुमति है। हालाँकि, आपको अपनी भाषा के निरूपण निरूपण का उपयोग करना चाहिए, जैसा कि इसके द्वारा दिया गया है
repr
।विशेष रूप से आप यह नहीं मान सकते हैं कि सरणी का पहला तत्व एक स्थान से पहले होगा।
यदि (केवल और केवल अगर) आपकी भाषा देशी रूप से दांतेदार सरणियों का प्रतिनिधित्व नहीं कर सकती है, तो आप किसी भी पूर्व-मौजूदा प्रोग्रामिंग भाषा के विहित वाक्यविन्यास का उपयोग करके इनपुट का एक स्ट्रिंग प्रतिनिधित्व कर सकते हैं।
यदि आपकी भाषा में दांतेदार सरणियों (जैसे, सूचियां और टुपल्स) का प्रतिनिधित्व करने के कई तरीके हैं, तो आपको केवल उनमें से एक का समर्थन करना होगा।
यदि आपकी भाषा में एक अंतर्निहित है जो स्वयं इस चुनौती के लिए एक मान्य सबमिशन है, तो आप इसे अपने उत्तर में उपयोग नहीं कर सकते हैं । अन्य सभी बिल्ट-इन की अनुमति है।
आपको सरणी और स्ट्रिंग हेरफेर दोनों का उपयोग करके उत्तर पोस्ट करने के लिए प्रोत्साहित किया जाता है, भले ही एक दूसरे से काफी छोटा हो।
सभी मानक कोड-गोल्फ नियम लागू होते हैं।
बाइट्स जीतने में सबसे छोटा कोड हो सकता है!
सत्य परीक्षण के मामले
[1]
[10]
[[]]
[[[[1]]]]
[[], [1], [1, 2]]
[[1], [1, [2]], [1, [2, [3]]]]
[[8], [8, [9]], [8, [9, [10]]]]
झूठे परीक्षण के मामले
[]
[0]
[0, -1]
[-1, 0]
[[[[0]]]]
[[0], [1, 2], [3, 4, 5]]
[[8], [8, [9]], [8, [9, [1, 0]]]]
[-1, 0, 0, 0]
Object
... मेरा पसंदीदा हास्केल है, जहां यह नहीं है। न ही सी में, कम से कम एक तरह से नहीं जो आपको एरेज़ और इनट्स को सुरक्षित रूप से मिलाने की अनुमति देता है। वे दोनों भाषाएँ दांतेदार सरणियों के लिए पूरी तरह से सक्षम हैं, लेकिन फिर भी इस समस्या के लिए उनका उपयोग नहीं कर सकते हैं।