Giới thiệu
Alice là ngôn ngữ 2 chiều của Martin Ender , có hai chế độ thực thi khác nhau, hồng y và thứ tự . Khi con trỏ lệnh đi qua một gương (hoặc /
hoặc \
), nó sẽ chuyển từ chế độ này sang chế độ khác.
Trong thử thách này, chúng tôi sẽ tập trung vào chế độ thứ tự , trong đó các lệnh hoạt động trên các chuỗi và con trỏ lệnh di chuyển theo đường chéo, nảy lên các cạnh của mã.
Các chương trình đơn giản chỉ hoạt động ở chế độ thứ tự có thể được viết theo kiểu khá nhỏ gọn, như trong ví dụ sau:
/fbd/
@aec\
Ở đây chỉ IP bắt đầu trong chế độ hồng y từ ô đầu tiên đi hướng đông, đi qua gương đầu tiên và bắt đầu di chuyển theo đường chéo và nảy, thực hiện lệnh a
, b
và c
. Sau đó nó gặp gương phía đông bắc mà làm cho nó đi về phía nam đến gương khác và sau đó bắt đầu tăng trở lại về phía tây, gặp lệnh d
, e
, f
, và cuối cùng @
, mà chấm dứt chương trình.
Kiểu cấu trúc này khá nhỏ gọn, nhưng không dễ để viết và bảo trì (thêm một lệnh có thể buộc chúng ta phải sắp xếp lại hầu hết mã!), Vì vậy tôi muốn bạn giúp tôi định dạng.
Nhiệm vụ
Đưa ra một chuỗi các lệnh, trong đó mỗi lệnh là một ký tự ASCII có thể in được, sắp xếp lại chúng trên hai dòng để nửa đầu của chuỗi có thể được đọc bắt đầu từ ký tự đầu tiên của dòng thứ hai và sau đó di chuyển luôn theo đường chéo về bên phải, trong khi nửa sau có thể được đọc lấy các ký tự còn lại từ phải sang trái. Đừng lo lắng về gương và biểu tượng chấm dứt, tôi sẽ tự thêm chúng vào.
Vì vậy, ví dụ, đầu vào đã cho, abcdef
bạn nên xuất
fbd
aec
Trong trường hợp đầu vào có độ dài lẻ, bạn nên thêm một khoảng trắng (là noop trong Alice) ở bất cứ đâu, miễn là chuỗi lệnh gặp phải vẫn giữ nguyên. Bạn cũng có thể chọn xuất hai dòng có độ dài khác nhau theo một ký tự, trong trường hợp đó, dòng ngắn hơn được coi là có một khoảng trắng ở cuối.
Quy tắc
Đây là code-golf , câu trả lời ngắn nhất, tính bằng byte, thắng!
- Bạn có thể nhập / xuất thông qua bất kỳ phương thức nhập / xuất mặc định nào
- Đầu vào bao gồm một dòng ký tự ASCII có thể in
- Một dòng mới duy nhất được phép trong đầu ra
- Một số đầu ra của chương trình của bạn có thể không có hành vi hoàn toàn chính xác khi chạy dưới dạng chương trình Alice (ví dụ: nếu không gian đệm được chèn bên trong một chuỗi ký tự). Bạn không phải lo lắng về những tình huống này
- Sơ hở tiêu chuẩn bị cấm
Các trường hợp thử nghiệm
--Input
abcdef
--Output
fbd
aec
--Input
123
--Output
2
13
OR
31
2
OR
3
12
OR
32
1
--Input
O
--Output
O
OR
O
--Input
"Hello, World!"o
--Output
oH!lloo
""edlr,W
--Input
i.szR.szno
--Output
o.zz.
inssR
--Input
" ^^} .~[}.~~[}{~~{}[^^^^.""!}"r.h~;a*y'~i.*So
--Output
o *^i}'.*[;.h~r}}~"{.[^
"S .^~ y~a}~~.["{!~"}^^^
(Odd length, your solution may be different)