Viết chương trình (hoặc hàm) nhận chuỗi không trống của bất kỳ ký tự ASCII có thể in nào .
In (hoặc trả lại) chuỗi ký tự ngoằn ngoèo của các ký tự trong chuỗi với mỗi cặp ký tự lân cận được liên kết bởi:
/
nếu ký tự đầu tiên xuất hiện trước ký tự thứ hai theo thứ tự ASCII bình thường. ví dụB / A
\
nếu ký tự đầu tiên xuất hiện sau ký tự thứ hai theo thứ tự ASCII bình thường. ví dụB \ A
-
nếu các ký tự đầu tiên và thứ hai là như nhau. ví dụA-A
Vì vậy, đầu ra cho Programming Puzzles & Code Golf
sẽ là
o
/ \
r z-z o e G l
/ \ / \ / \ / \ / \
P o r m-m n u l s & C d f
\ / \ / \ / \ / \ / \ / \ /
g a i g P e
\ /
Nếu chỉ có một ký tự trong chuỗi đầu vào, đầu ra sẽ chỉ là ký tự đó.
Chương trình của bạn nên đối xử ,
/
, \
, và -
chỉ giống như tất cả các nhân vật khác.
ví dụ: -\//-- \ //-
nên sản xuất:
\
/ \
- /-/
/ \
- --- \ /-/
\ / \ / \
-
\
Không nên có các dòng mới ngoại lai trong đầu ra ngoại trừ một dòng mới tùy chọn duy nhất. (Lưu ý rằng dòng trống trong ví dụ ngay phía trên giữ khoảng trống cuối cùng trong chuỗi và do đó không phải là không liên quan.) Có thể có các khoảng trắng ở bất kỳ dòng nào trong bất kỳ sắp xếp nào.
Mã ngắn nhất tính bằng byte thắng.
Một ví dụ nữa - Đầu vào:
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Đầu ra:
9 9 8 6 6
/ \ / \ / \ / \ / \
9 6 8 7 3 3 4 2 4 8 9 8-8
/ \ / \ / \ / \ / \ / \ / \
4 5 2 5 5 2 3-3 3 7 5 2 4 9 9 9-9 7
/ \ / \ / \ / \ / \ / \ / \ / \ / \
3 1 1 3 2 0 1 7 6 3 3 5 8 8 6
\ / \ / \ / \ / \ / \
. 1 1 5 2 9 9 3 7 1 4 6 8 9
\ / \ / \ / \ / \ / \ / \ / \ /
0 0 7 9 5 2 0 0 2 6 9-9 8 5 4 7
\ / \ / \ / \ / \ / \ / \ /
4 4-4 2 8 8 4 2 3 2 7 6
\ / \ / \ / \ /
0 6 8 3 1-1 0
\ / \ /
2 0
'\n'
bằng một chuỗi mẫu như thế này