आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो इनपुट के रूप में एक स्ट्रिंग प्राप्त करता है और आउटपुट या रिटर्न अगर इनपुट एक ASCII पेड़ है।
_
\/ /
\_/
|
|
ASCII पेड़ वर्ण होने / \ | _ spaces
और newlines
।
गैर-व्हाट्सएप पात्र अपनी कोशिकाओं के दो किनारे बिंदुओं को एक रेखाखंड से जोड़ते हैं:
/
नीचे बाएं और ऊपर दाएं कोनों को जोड़ता है\
नीचे दाएं और बाएं बाएं कोनों को जोड़ता है|
नीचे के किनारे और शीर्ष किनारे के मध्य बिंदुओं को जोड़ता है_
नीचे बाएं और नीचे दाएं कोनों और नीचे के किनारे के मध्य बिंदु को जोड़ता है
(ध्यान दें कि यह मतलब है कि |
केवल के साथ जुड़ सकते |
या _
लेकिन साथ नहीं /
या \
।)
यदि निम्नलिखित नियम लागू होते हैं तो ASCII चित्र को पेड़ कहा जाता है:
- वास्तव में एक वर्ण का एक बिंदु (मूल) अंतिम पंक्ति के निचले किनारे को छूता है।
आप किसी भी सेगमेंट के किसी भी बिंदु तक पहुँच सकते हैं:
- जड़ से शुरू
- केवल लाइन सेगमेंट का उपयोग करना
- कभी नीचे की दिशा में नहीं जाना (नीचे की ओर भी नहीं)
इनपुट
- वर्णों
/ \ | _ space
सेnewline
युक्त एक स्ट्रिंग और जिसमें कम से कम एक गैर-व्हाट्सएप चरित्र होता है। आप दो इनपुट प्रारूप चुन सकते हैं:
- पेड़ के आसपास कोई अनावश्यक व्हाट्सएप नहीं है (जैसा कि उदाहरणों में देखा गया है)।
- सभी पंक्तियों को समान लंबाई बनाने के लिए पंक्तियों के दाईं ओर रिक्त स्थान को छोड़कर (उदाहरण में देखा गया है) पेड़ के आसपास कोई अनावश्यक व्हाट्सएप नहीं है।
अनुगामी न्यूलाइन वैकल्पिक है।
उत्पादन
- एक सुसंगत सत्य मान यदि इनपुट एक आस्की वृक्ष है।
- यदि इनपुट ascii ट्री नहीं है, तो एक सुसंगत मिथ्या मूल्य।
उदाहरण
वैध पेड़:
|
_
\/ /
\_/
|
|
/ / \/
\ \____/
\/
/
/
\___/
/ \
\___/
|
|
__/
_/
/
____
\ ___
\ \/
\/\_____/
\/ \/
\__/
|
|
अमान्य पेड़ (अतिरिक्त स्पष्टीकरण के साथ जो इनपुट के भाग नहीं हैं):
\/
\_______/
\__ /
| \_/ <- reachable only on with downward route
|
_ <- multiple roots
\/ <- multiple root characters
/\ <- multiple roots
| <- unreachable part
|
__/
/ <- unreachable parts
|
\____/
| | <- multiple roots
_\__/ <- unreachable parts (_ and \ don't connect to each other)
|
यह कोड-गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।