Viết chương trình hoặc hàm nhận một chuỗi ký tự ascii có thể in không có ký tự không bao gồm khoảng trắng:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Bạn có thể cho rằng đầu vào là hợp lệ.
Dựa trên đầu vào, vẽ một chuỗi mới được sắp xếp trên một lưới văn bản gồm các khoảng trắng và dòng mới theo quy tắc đồ họa của rùa trong đó rùa luôn chiếm một không gian lưới và chỉ có thể đối mặt với các hướng chính.
In ký tự đầu tiên trong chuỗi đầu vào vào lưới văn bản. Con rùa bắt đầu từ đây phải đối mặt. Lặp lại phần còn lại của các ký tự trong chuỗi đầu vào (chỉ dừng lại nếu rùa bị kẹt), lặp lại quy trình này:
Nếu 4 không gian lưới trực tiếp lân cận rùa đều được lấp đầy (tức là không có không gian nào trong số chúng là khoảng trắng), hãy dừng lặp lại. Con rùa bị mắc kẹt và lưới điện hoàn chỉnh như nó có thể.
Nhìn vào ký tự hiện tại trong đầu vào so với ký tự trước:
Nếu nhân vật hiện tại là từ vựng trước đó, hãy xoay con rùa một phần tư rẽ trái.
Nếu nhân vật hiện tại là từ vựng sau lần trước, xoay rùa một phần tư rẽ phải.
Nếu ký tự hiện tại bằng với trước đó, đừng xoay rùa.
Nếu không gian lưới mà rùa hiện đang đối mặt không trống (tức là không phải là khoảng trắng), liên tục xoay rùa một phần tư rẽ trái cho đến khi cô ấy đối mặt với không gian lưới trống.
Di chuyển con rùa một bước về phía trước theo hướng cô ấy đối mặt và in ký tự hiện tại lên lưới ở vị trí mới của con rùa.
In hoặc trả về chuỗi lưới văn bản kết quả không có hàng hoặc cột không gian bên ngoài. Các dòng có thể có các khoảng trắng ở cột ngoài cùng bên phải với một khoảng trắng, nhưng không vượt quá. Một dòng mới duy nhất được tùy chọn cho phép.
Mã ngắn nhất tính bằng byte thắng.
Thí dụ
Dưới đây là tất cả các bước của đầu vào spattuuxze
. Các ^V<>
nhân vật cho thấy hướng rùa đang đối mặt, chúng không phải là một phần của đầu vào hoặc đầu ra.
s>
^
p
s
<ap
s
^
t
ap
s
^
t
t
ap
s
tu>
t
ap
s
tuu>
t
ap
s
tuu
t x
apV
s
tuu
<zx
ap
s
Tại thời điểm này, rùa bị mắc kẹt nên e
không bao giờ được in và đầu ra cuối cùng là:
tuu
tzx
ap
s
Dưới đây là một đầu ra tương tự nhưng không hợp lệ vì nó có một cột khoảng trắng hàng đầu không cần thiết:
tuu
tzx
ap
s
Các trường hợp thử nghiệm
spattuuxze
tuu
tzx
ap
s
spattuuxxze
tuu
t x
apx
sze
1111111
1111111
ABCDEFGHIJKLMNOP
PEFG
ODAH
NCBI
MLKJ
`_^]\[ZYXWVUTSR
^_RS
\]`UT
[ZWV
YX
Woo!
W
o
o!
woo!
!o
o
w
Wheeee
W
heeee
banana
a
an
an
b
Turtle
T
ure
tl
turTle
e
tTl
ur
(Đừng nói với tôi ngay nếu bất kỳ điều nào trong số này có vẻ sai.)
PONMLKJIHGFEDCBA
, vì kết quả không chỉ là một hình vuông và tương phản với ABCDEFGHIJKLMNOP
để làm nổi bật sự bất cân xứng trong các quy tắc.