Shifty- आंखें ASCII लोग ASCII का बदलाव करना पसंद करते हैं Ii
:
>_> <_< >_< <_>
अलग-अलग या अलग-अलग पंक्तियों में, अलग-अलग पंक्तियों की एक स्ट्रिंग को देखते हुए, Ii
पक्ष को किनारे पर छोड़ दें, दीवार को छोड़ दें और आसमान को सही करें:
Ii
सबसे छोटा शिफ्टर पुरस्कार जीतता है।
क्या कहना?
एक प्रोग्राम या फ़ंक्शन लिखें जो इन चार ASCII इमोटिकॉन्स की एक मनमानी सूची में लेता है, या तो स्थान या न्यूलाइन अलग (एक वैकल्पिक अनुगामी न्यूलाइन के साथ):
>_>
<_<
>_<
<_>
उदाहरण के लिए, इनपुट हो सकता है
>_> >_> <_>
या
>_> >_> <_>
(आपके द्वारा समर्थित विधि आपके ऊपर है)
प्रत्येक इमोटिकॉन I
और i
पात्रों पर एक अलग कार्रवाई करता है , जो हमेशा इस तरह से शुरू होता है:
Ii
>_>
बदलावI
, एक के बाद सही करने के लिए यदि संभव हो तो, और फिर बदलावi
एक के बाद सही करने के लिए।<_<
बदलावI
एक के बाद छोड़ दिया है, यदि संभव हो तो, और फिर बदलाव करने के लिएi
, एक के बाद छोड़ दिया करने के लिए यदि संभव हो तो।>_<
I
यदि संभव हो तो दाईं ओर शिफ्ट करें, और यदि संभव हो तो एक के बादi
एक बाईं ओर शिफ्ट करें।<_>
बदलावI
एक के बाद छोड़ दिया है, यदि संभव हो तो, और उसके बाद करने के लिए बदलावi
एक के बाद सही करने के लिए।
I
छोड़ दिया नहीं जा सकता है अगर यह रेखा के बाएं किनारे पर है (जैसा कि यह शुरू में है), और अगर i
इसे सीधे अपने दाईं ओर स्थानांतरित नहीं किया जा सकता है (जैसा कि यह शुरू में है)।
i
अगर I
इसकी बाईं ओर सीधे (जैसे कि यह शुरू में है) बाईं ओर स्थानांतरित नहीं किया जा सकता है , लेकिन हमेशा दाएं स्थानांतरित किया जा सकता है।
ध्यान दें कि इन नियमों के साथ, I
हमेशा बाईं ओर रहेगा i
, और सभी इमोटिकॉन्स के लिए I
पहले स्थानांतरित करने का प्रयास किया जाता है i
।
खाली जगह के लिए रिक्त Ii
स्थान (
) या अवधि ( .
) का उपयोग करके दिए गए आदेश में सभी पारियों को लागू करने के बाद आपके कार्यक्रम या फ़ंक्शन को अंतिम पंक्ति के एक स्ट्रिंग को प्रिंट या वापस करने की आवश्यकता होती है। ट्रेलिंग स्पेस या पीरियड्स और सिंगल ट्रेलिंग न्यूलाइन आउटपुट में वैकल्पिक रूप से अनुमत हैं। रिक्त स्थान और अवधि न मिलाएं।
उदाहरण के लिए, इनपुट
>_> >_> <_>
आउटपुट है
I...i
क्योंकि पारियां लागू होती हैं
start |Ii >_> |I.i >_> |.I.i <_> |I...i
बाइट्स में सबसे छोटा कोड जीतता है। टाईब्रेकर उच्च मतदान वाला उत्तर है।
परीक्षण के मामलों
#[id number]
[space separated input]
[output]
.
स्पष्टता के लिए उपयोग करना ।
#0
[empty string]
Ii
#1
>_>
I.i
#2
<_<
Ii
#3
>_<
Ii
#4
<_>
I.i
#5
>_> >_>
.I.i
#6
>_> <_<
Ii
#7
>_> >_<
.Ii
#8
>_> <_>
I..i
#9
<_< >_>
I.i
#10
<_< <_<
Ii
#11
<_< >_<
Ii
#12
<_< <_>
I.i
#13
>_< >_>
I.i
#14
>_< <_<
Ii
#15
>_< >_<
Ii
#16
>_< <_>
I.i
#17
<_> >_>
.I.i
#18
<_> <_<
Ii
#19
<_> >_<
.Ii
#20
<_> <_>
I..i
#21
>_> >_> <_>
I...i
#22
<_> >_> >_> >_> <_> <_<
.I...i
#23
<_> >_> >_> >_> <_> <_< >_< <_< >_<
..Ii
#24
>_> >_< >_> >_> >_> >_> >_> >_> <_> <_> <_<
...I.....i