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
