परिचय
कैक्टि विभिन्न विभिन्न आकारों, आकारों और रंगों में आते हैं। हालांकि, हर पश्चिमी में सबसे प्रतिष्ठित कैक्टस और अवश्य ही सगुआरो होना चाहिए । महत्वपूर्ण विशेषताएं इसके आकार और हथियार हैं, जिन्होंने स्टीरियोटाइपिक कैक्टस उपस्थिति को परिभाषित किया है।
अपने काम के लिए ASCII दुनिया में saguaro लाना है। हालाँकि, - जैसा कि वास्तविक दुनिया में - कोई भी सगुआरो दूसरे की तरह नहीं है, इसलिए आपके प्रोग्राम को अलग-अलग बांह विन्यास के साथ सगुरोस उत्पन्न करने में सक्षम होना चाहिए।
एक उदाहरण saguaro
- इनपुट:
[0b10, 0b11]
([2, 3]
दशमलव में, इनपुट लंबाई2
)
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
विशेष विवरण
एक सगुआरो में हमेशा एक आधार और एक शीर्ष होता है, जिसके बीच में स्टेम की चर मात्रा होती है। स्टेम भागों में कोई हथियार नहीं हो सकता, दाहिनी ओर एक हाथ, बाईं तरफ एक या दो हथियार हो सकते हैं।
सगुआरो वृद्धि पैटर्न को दो-बिट मान वाले इनपुट सूची के रूप में दिया जाता है। 00
कोई हथियार नहीं, 01
दाईं ओर 10
एक हाथ, बाईं तरफ एक हाथ और 11
दो हथियार (सभी बाइनरी में)। इनपुट सूची की लंबाई सागारू की ऊंचाई निर्धारित करती है।
सगुरो खंड निम्नलिखित की तरह दिखते हैं। कैक्टस भागों को #
स्पष्टता के लिए ऑक्टोथोरैप्स से घिरा हुआ है, जिसे मुद्रित नहीं किया जाएगा।
एक saguaro की ऊँचाई हमेशा 4+6*k
nonnegative पूर्णांक के लिए वर्णों के बराबर होती है k
।
#############
# _ # Saguaro top
# / \ #
#############
# _ | | _ # Stem, both arms
#/ \ | | / \# Stem id: 11
#| | | | | |#
#\ \_| |_/ /#
# \__ __/ #
# \ / #
#############
# _ | | # Stem, left arm
#/ \ | | # Stem id: 10
#| | | | #
#\ \_| | #
# \__ | #
# \ | #
#############
# | | _ # Stem, right arm
# | | / \# Stem id: 01
# | | | |#
# | |_/ /#
# | __/ #
# | / #
#############
# | | # Stem, no arms
# | | # Stem id: 00
# | | #
# | | #
# | | #
# | | #
#############
# | | # Saguaro base
# | | #
#############
इनपुट
जैसा कि पहले कहा गया था, इनपुट में दो-बिट मानों की एक सूची होती है ( 0, 1, 2, 3
दशमलव में)। यह किसी भी उचित प्रारूप में दिया जा सकता है। सूची का पहला तत्व saguaro के उच्चतम स्टेम भाग से मेल खाता है, दूसरा तत्व इसके दूसरे उच्चतम स्टेम भाग आदि से संबंधित है।
यदि आप चाहें, तो आपको अतिरिक्त इनपुट के रूप में इनपुट सूची की लंबाई की आवश्यकता हो सकती है। यदि आप ऐसा करते हैं तो कृपया इसे अपने उत्तर में निर्दिष्ट करें।
उत्पादन
आपके आउटपुट ASCII saguaro को ऊपर वर्णित के अनुसार सटीक स्टेम भागों का उपयोग करके बनाया जाना चाहिए। एक लाइन पर अनुगामी रिक्त स्थान और नई लाइनों को अनुगामी करना अनदेखा किया जाता है; आप अधिक, कम या अधिक के रूप में ऊपर निर्दिष्ट के रूप में मुद्रित कर सकते हैं।
नियम
- मानक खामियां लागू होती हैं
- यह कोड-गोल्फ होने के नाते , एक प्रोग्राम का बाइट काउंट न्यूनतम होना चाहिए
परीक्षण के मामलों
- एक बहिरंग। इनपुट:
[0b01, 0b00, 0b01, 0b11]
_
/ \
| | _
| | / \
| | | |
| |_/ /
| __/
| /
| |
| |
| |
| |
| |
| |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- बारी-बारी से हथियार। इनपुट:
[0b10, 0b01, 0b10]
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| |
| |
- बाहों की एक बहुतायत। इनपुट:
[0b11, 0b11]
_
/ \
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- कोई हथियार नहीं, जिसे भाले के रूप में भी जाना जाता है। इनपुट:
[0b00]
_
/ \
| |
| |
| |
| |
| |
| |
| |
| |
- कोई शरीर नहीं, कुछ इसे एक युवा कैक्टस कहते हैं। इनपुट:
[]
_
/ \
| |
| |
4 1 0 1 3
)