यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: <code>मेमोइज़ेशन के साथ बाइनरी ट्री का रिकर्सिव विश्लेषण</code>
Swift
Hard
functions
कार्य «यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: <code>मेमोइज़ेशन के साथ बाइनरी ट्री का रिकर्सिव विश्लेषण</code>»
एक फ़ंक्शन लिखें जो एक बाइनरी ट्री को स्वीकार करता है, जो पूर्णांकों की एक सरणी के रूप में प्रस्तुत किया गया है (लेवल-ऑर्डर ट्रैवर्सल, null को 0 के रूप में दर्शाया गया है), और रूट से लीफ तक नोड्स के मानों का अधिकतम योग लौटाता है, बशर्ते कि पथ पर लगातार दो से अधिक नोड्स को छोड़ा न जा सके। कुशल गणना के लिए मेमोइज़ेशन के साथ एक रिकर्सिव फ़ंक्शन का उपयोग करें। ट्री में अधिकतम 1000 नोड्स हैं, मान -100 से 100 तक हैं।
इनपुट प्रारूप
पहली पंक्ति: एक पूर्णांक n (1 ≤ n ≤ 1000) — सरणी में तत्वों की संख्या। दूसरी पंक्ति: रिक्त स्थान से अलग किए गए n पूर्णांक — पेड़ का स्तर-वार प्रतिनिधित्व (0 एक नोड की अनुपस्थिति को दर्शाता है)।
आउटपुट प्रारूप
एक पूर्णांक — जड़ से पत्ती तक अधिकतम योग, जिसमें लगातार दो से अधिक नोड्स को छोड़ने की संभावना को ध्यान में रखा गया है।
उदाहरण
उदाहरण 1
इनपुट
3
ab
bc
ca
आउटपुट
6
उदाहरण 2
इनपुट
1
10
आउटपुट
10
उदाहरण 3
इनपुट
5
10 5 15 0 0
आउटपुट
25
उदाहरण 4
इनपुट
2
abc
def
आउटपुट
0
main.swift