Những anh chàng ASCII có đôi mắt sắc sảo muốn thay đổi ASCII Ii:
>_> <_< >_< <_>
Đưa ra một chuỗi những kẻ nhút nhát, cách nhau hoặc tách các dòng, chuyển Iibên này sang bên kia, rời khỏi bức tường và bên phải bầu trời:
Ii
Các shifter ngắn nhất sẽ giành giải thưởng.
Nói gì cơ?
Viết chương trình hoặc hàm lấy một chuỗi danh sách tùy ý của bốn biểu tượng cảm xúc ASCII này, được phân cách bằng dấu cách hoặc dấu cách (với một dòng mới theo dõi tùy chọn):
>_>
<_<
>_<
<_>
Ví dụ: đầu vào có thể là
>_> >_> <_>hoặc là
>_> >_> <_>(Phương pháp bạn hỗ trợ tùy thuộc vào bạn.)
Mỗi biểu tượng cảm xúc thực hiện một hành động khác nhau trên Ivà các iký tự, luôn bắt đầu như thế này:
Ii
>_>dịch chuyểnIsang phải một, nếu có thể, và sau đó dịch chuyểnisang phải một.<_<dịch chuyểnIsang trái bởi một, nếu có thể, và sau đó dịch chuyểnisang trái bởi một, nếu có thể.>_<dịch chuyểnIsang phải một, nếu có thể, và sau đó dịch chuyểnisang trái một, nếu có thể.<_>dịch chuyểnIsang trái một, nếu có thể, và sau đó dịch chuyểnisang phải một.
Ikhông thể được dịch chuyển sang trái nếu nó ở cạnh trái của dòng (như ban đầu) và không thể được dịch chuyển sang phải nếu itrực tiếp bên phải (như ban đầu).
ikhông thể được dịch chuyển sang trái nếu Itrực tiếp bên trái (như ban đầu), nhưng luôn có thể được dịch chuyển sang phải.
Lưu ý rằng với các quy tắc này, Isẽ luôn ở bên trái ivà Iđược cố gắng thay đổi trước icho tất cả các biểu tượng cảm xúc.
Chương trình hoặc chức năng của bạn cần in hoặc trả về một chuỗi của Iidòng cuối cùng sau khi áp dụng tất cả các ca theo thứ tự đã cho, sử dụng khoảng trắng ( ) hoặc dấu chấm ( .) cho không gian trống. Không gian lưu trữ hoặc dấu chấm và một dòng mới duy nhất được tùy chọn cho phép trong đầu ra. Không trộn lẫn không gian và thời gian.
Ví dụ: đầu vào
>_> >_> <_>có đầu ra
I...ibởi vì sự thay đổi áp dụng như
start |Ii >_> |I.i >_> |.I.i <_> |I...i
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là câu trả lời bình chọn cao hơn.
Các trường hợp thử nghiệm
#[id number]
[space separated input]
[output]
Sử dụng .cho rõ ràng.
#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
