परिचय
एलिस मार्टिन एंडर की 2-डी भाषा है जिसमें दो अलग-अलग निष्पादन मोड, कार्डिनल और ऑर्डिनल हैं । अनुदेश सूचक गुजरता है के माध्यम से एक दर्पण (या तो /या \), यह दूसरे से एक मोड से स्विच करता है।
इस चुनौती में हम क्रमिक मोड पर ध्यान केंद्रित करेंगे , जहां कमांड स्ट्रिंग्स पर काम करते हैं और निर्देश सूचक कोड के किनारों के खिलाफ उछलते हुए तिरछे चलते हैं।
केवल साधारण मोड में काम करने वाले सरल कार्यक्रमों को काफी कॉम्पैक्ट शैली में लिखा जा सकता है, जैसे निम्नलिखित उदाहरण में:
/fbd/
@aec\
यहां IP प्रथम कक्ष पूर्व जाने से कार्डिनल मोड में शुरू होता है, पहले दर्पण से होकर गुजरता है और तिरछे आगे बढ़ शुरू होता है और उछल, आदेशों को क्रियान्वित करने a, bऔर c। यह तो पूर्वोत्तर दर्पण है जो इसे अन्य दर्पण की ओर दक्षिण की ओर जाने और उसके बाद, पश्चिम की ओर वापस उछल आदेशों का सामना शुरू करता है का सामना करना पड़ता d, e, f, और अंत में @, कार्यक्रम समाप्त हो जाता है जो।
इस तरह की संरचना काफी कॉम्पैक्ट है, लेकिन इसे लिखना और बनाए रखना आसान नहीं है (एक ही आदेश को जोड़कर हमें कोड के पुन: व्यवस्थित करने के लिए मजबूर किया जा सकता है!), इसलिए मैं आपको प्रारूपण के साथ मेरी मदद करना चाहूंगा।
काम
आदेशों के अनुक्रम को देखते हुए, जहां प्रत्येक कमांड एक एकल मुद्रण योग्य ASCII वर्ण है, उन्हें दो लाइनों पर फिर से व्यवस्थित करें ताकि अनुक्रम के पहले आधे हिस्से को दूसरी पंक्ति के पहले चरित्र से शुरू करके पढ़ा जा सके और फिर हमेशा दाईं ओर तिरछे चलते हुए, जबकि दूसरी छमाही को बायें से बायें पात्रों को लेते हुए पढ़ा जा सकता है। दर्पण और समाप्ति चिह्न के बारे में चिंता न करें, मैं उन्हें खुद जोड़ूंगा।
इसलिए, उदाहरण के लिए, दिए गए इनपुट को abcdefआपको आउटपुट देना चाहिए
fbd
aec
यदि इनपुट विषम लंबाई का है, तो आपको कहीं भी एक सिंगल स्पेस (जो कि ऐलिस में एक नूप है) जोड़ना चाहिए, जब तक कि सामने आई कमांड्स का क्रम समान रहता है। आप एक वर्ण द्वारा लंबाई में भिन्न होने वाली दो पंक्तियों को आउटपुट करने का विकल्प भी चुन सकते हैं, जिस स्थिति में छोटे को अंत में एकल स्थान माना जाता है।
नियम
ये है कोड गोल्फसबसे छोटा जवाब, बाइट्स में, जीतता है!
- आप किसी भी डिफ़ॉल्ट इनपुट / आउटपुट विधियों के माध्यम से इनपुट / आउटपुट कर सकते हैं
- इनपुट में मुद्रण योग्य ASCII वर्णों की एक पंक्ति होती है
- आउटपुट में एक एकल अनुगामी न्यूलाइन की अनुमति है
- आपके प्रोग्राम के कुछ आउटपुट में ऐलिस प्रोग्राम के रूप में चलने पर पूरी तरह से सही व्यवहार नहीं हो सकता है (जैसे अगर पैडिंग स्पेस एक स्ट्रिंग शाब्दिक के अंदर डाला जाता है)। आपको इन स्थितियों से खुद को परेशान होने की जरूरत नहीं है
- मानक खामियों को मना किया जाता है
परीक्षण के मामलों
--Input
abcdef
--Output
fbd
aec
--Input
123
--Output
2
13
OR
31
2
OR
3
12
OR
32
1
--Input
O
--Output
O
OR
O
--Input
"Hello, World!"o
--Output
oH!lloo
""edlr,W
--Input
i.szR.szno
--Output
o.zz.
inssR
--Input
" ^^} .~[}.~~[}{~~{}[^^^^.""!}"r.h~;a*y'~i.*So
--Output
o *^i}'.*[;.h~r}}~"{.[^
"S .^~ y~a}~~.["{!~"}^^^
(Odd length, your solution may be different)