एक प्रोग्राम या फ़ंक्शन लिखें जो किसी भी उचित सुविधाजनक प्रारूप में पूर्णांक की गैर-रिक्त सूची में लेता है जैसे कि 4, 0, -1, -6, 2
या [4 0 -1 -6 2]
।
एक स्ट्रिंग को प्रिंट या वापस करें जो सूची को एक ASCII कला जंगल के रूप में दर्शाती है जहां प्रत्येक संख्या आनुपातिक ऊंचाई का एक पेड़ बन जाता है। प्रत्येक पेड़ आउटपुट में टेक्स्ट के चार कॉलम लेता है:
एक सकारात्मक पूर्णांक N एक वृक्ष बन जाता है जिसका आधार
__|_
और शीर्ष होता है^
,/ \
बीच में N परतों के साथ ।उदाहरण के लिए, जब N = 1 वृक्ष है
^ / \ __|_
जब एन = 2 पेड़ है
^ / \ / \ __|_
जब एन = 3 पेड़ है
^ / \ / \ / \ __|_
और इसी तरह।
एक नकारात्मक पूर्णांक N, एक धनात्मक वृक्ष की तरह हो जाता है, सिवाय एक ऊर्ध्वाधर पट्टी के, एक स्थान के बजाय शाखा स्लैश के बीच होता है।
उदाहरण के लिए, जब एन = -1 पेड़ है
^ /|\ __|_
जब एन = -2 पेड़ है
^ /|\ /|\ __|_
जब एन = -3 पेड़ है
^ /|\ /|\ /|\ __|_
और इसी तरह।
जब पूर्णांक 0 होता है तो तकनीकी रूप से कोई पेड़ नहीं होता है, बस चार अंडरस्कोर का एक खाली स्थान होता है:
____
प्रत्येक पेड़ के आधार पर अंडरस्कोर को आउटपुट में लाइन अप करना होगा, अर्थात सभी पेड़ों का एक ही स्तर पर आधार होना चाहिए। इसके अलावा, पिछले पेड़ के बाद अंडरस्कोर की रेखा के अंत में एक एकल अंडरस्कोर जोड़ा जाता है। इससे ऐसा होता है कि हर पेड़ के दोनों तरफ "हवा" का एक खाली स्तंभ होता है।
एक उदाहरण के रूप में, के लिए उत्पादन 4 0 -1 -6 2
होगा
^
/|\
^ /|\
/ \ /|\
/ \ /|\ ^
/ \ ^ /|\ / \
/ \ /|\ /|\ / \
__|_______|___|___|__
ध्यान दें कि पेड़ के पैटर्न में हमेशा खाली जगह का एक प्रमुख स्तंभ होता है लेकिन पिछले पेड़ के दाहिने हिस्से को पैड करने के लिए एक अंडरस्कोर जोड़ना पड़ता था।
इसके अलावा:
- किसी भी रेखा पर रिक्त स्थान ठीक हैं, लेकिन कोई अनावश्यक अग्रणी स्थान नहीं होना चाहिए।
- लीडिंग न्यूलाइन्स की अनुमति नहीं है (सबसे ऊंचे पेड़ को आउटपुट टेक्स्ट ग्रिड के शीर्ष को छूना चाहिए) और केवल एक अनुगामी न्यूलाइन तक की अनुमति है।
- सूची में कोई भी पूर्णांक -250 से 250 समावेशी हो सकते हैं। लम्बे पेड़ों को संभालने की आवश्यकता नहीं है।
बाइट्स में सबसे छोटा कोड जीतता है।
और ज्यादा उदाहरण
3
:
^
/ \
/ \
/ \
__|__
-2
:
^
/|\
/|\
__|__
0
:
_____
0, 0
:
_________
0, 1, 0
:
^
/ \
______|______
0, -1, 2, -3, 4
:
^
^ / \
^ /|\ / \
^ / \ /|\ / \
/|\ / \ /|\ / \
______|___|___|___|__
_
आखिरी पेड़ के बाद एक अनुगामी (अंडरस्कोर) जोड़ना भूल गए होंगे ।