आप महंगे आर्किटेक्चरल प्रोग्राम के लिए पैसे नहीं देना चाहते हैं, इसलिए आप अपना रोल खुद तय करें। आप अपने भवनों को डिजाइन करने के लिए ASCII का उपयोग करने का निर्णय लेते हैं। आपका कार्यक्रम एक विशिष्ट तरीके से स्वरूपित एकल स्ट्रिंग में होगा, और कार्यक्रम भवन का उत्पादन करेगा।
इनपुट
इनपुट में वर्णों की एक पंक्ति होती है। यह केवल अक्षर माना जा सकता है a-j, संख्या 1-9और प्रतीकों -और +।
आउटपुट विवरण
प्रत्येक अक्षर के लिए a-j, कार्यक्रम निम्नानुसार एक ऊर्ध्वाधर रेखा का उत्पादन करेगा। हम इसे एक कॉलम कहेंगे।
.
..
...
****
*****
******
-------
--------
+++++++++
++++++++++
abcdefghij
उदाहरण के लिए, इनपुट abcdefgfedefghgfedcआउटपुट:
.
* ***
*** *****
***** *******
---------------
-----------------
++++++++++++++++++
+++++++++++++++++++
एक पत्र को एक पूर्णांक के साथ पूर्वनिर्मित किया जा सकता है n, जो nस्तंभ के नीचे व्हाट्सएप वर्ण जोड़ देगा । हम इसे एक ऑफसेट कहेंगे। उदाहरण के लिए, Sव्हाट्सएप को नोट करने के लिए, इनपुट 3b2b3bआउटपुट देगा:
+ +
+++
S+S
SSS
SSS
एक पत्र भी एक नकारात्मक पूर्णांक के साथ उपसर्ग किया जा सकता है -m, जो स्तंभ के निचले गैर-व्हाट्सएप वर्णों को हटा देगा (उन्हें व्हाट्सएप से प्रतिस्थापित नहीं करें, उन्हें पूरी तरह से हटा दें)। हम इसे एक टुकड़ा कहेंगे। उदाहरण के लिए, इनपुट आउटपुट:m -1j-2j-3j-4j-5j-6j-7j-8j
.
..
...
*...
**...
***...
-***...
--***...
+--***..
एक ऑफसेट और एक स्लाइस को एक ही लाइन पर लागू किया जा सकता है, लेकिन ऑफसेट को पहले जाना चाहिए। दूसरे शब्दों में, पत्र के साथ उपसर्ग किया जा सकता है n-m, जहां nऑफ़सेट mका आकार है , और स्लाइस का आकार है। उदाहरण के लिए, Sव्हॉट्सएप को नोट करने के लिए, इनपुट '2-4j' आउटपुट करेगा:
.
.
.
*
*
*
S
S
अंत में, +दो स्तंभों के बीच उपयोग किया जाने वाला ऑपरेटर इंगित करता है कि उन्हें अलग-अलग स्तंभों के बजाय एक ही स्तंभ में एक दूसरे के ऊपर ढेर किया जाना चाहिए। उदाहरण के लिए, इनपुट '2-4ja' आउटपुट:
.
.
.
*
*
*
S
S+
जबकि इनपुट 2-4j+aआउटपुट:
+
.
.
.
*
*
*
S
S
यहाँ एक नमूना इनपुट है:
abiehef+ehfhabc
और परिणामी आउटपुट:
*
-
. -
. . +. .
* * +* *
* * ****
********
--------
-------- -
+++++++++ ++
+++++++++++++
किसी तरह का एक पुराना नष्ट महल टॉवर जैसा दिखता है।
यहाँ एक और नमूना इनपुट है:
6b5b+a6b1-2d+3-4f1-2d+-2c+2-4f+1-2d+-2c2-2d+1-4g+1-2c+b+-2c+-4e2-7j+-4g+d+-2c+-4f2-7j+-5h+b+-2c+a+-3f2-7j+-7i+-4e+b+b+a+-4f2-7i+a+-7h+-4f+b+b+a+-4f2-7j+-7h+-4f+a+-7h+a+-7i+-4f2-7j+-7i+-6h+a+-7i+b+-4e3-7i+a+-7h+-4e+a+-7h+b+1-7h3-7j+1-4f+-7h+b+-4f+a3-7j+2-4f+a+-4f+b3-2d+-2d+3-4g+b3-2d+-2d+-2c
और परिणामी आउटपुट:
****** +++
******+.*++
---++.+ ***
-+-+++..++**
-+--+++.+++*
--++++.+..*
+++++.+**
+++****.****** -
+++*****.**.. --
+ ***....+..--
...+.....--
--.........--
---......
--
(यह मारियो होना चाहिए था, लेकिन बहुत अच्छा नहीं निकला ...)
यदि विनिर्देश अभी भी स्पष्ट नहीं है, तो मेरे पास पायथन 2.7 में लिखा गया गैर-गोल्फ कार्यान्वयन है। आप इसे चला सकते हैं और विनिर्देश कैसे काम करता है, इसके बारे में जानने के लिए प्रयोग कर सकते हैं। तुम भी मेरे प्रोग्रामिंग कौशल पर हँसने के लिए चुन सकते हैं।
यह कोड-गोल्फ है, इसलिए सबसे छोटी प्रविष्टि जीतती है। अस्पष्ट होने पर टिप्पणियों में प्रश्न पूछें।
a+a+a+a+a, एक दूसरे के शीर्ष पर पाँच से अधिक चिन्ह का उत्पादन होगा।
