Đưa ra một mảng các số nguyên dương có một chữ số lồng nhau (không được bảo đảm duy nhất), xuất ra biểu diễn nghệ thuật ASCII dưới dạng cây, sử dụng các ký tự vẽ hình hộp ┌ ┴ ┐ ─ │ ┬ ┼
. (Chúng được sao chép từ Mã trang 437, nhưng bạn có thể sử dụng bất kỳ đại diện tương đương nào).
Mỗi số nguyên của mảng phải là một lá của cây. Các yếu tố cùng cấp độ sâu trong mảng phải có mặt ở cùng cấp độ của cây. Tất cả các yếu tố phải được phân tách bằng khoảng trắng đủ để phân biệt (tùy thuộc vào bạn để xác định độ rộng, tối thiểu của một khoảng cách giữa).
Ví dụ, mảng đã cho [[1, [2]], [3, [4, 5]]]
, xuất cây sau
┌─┴─┐
┌┴┐ ┌┴─┐
1 │ 3 ┌┴┐
2 4 5
Đối với mảng [1, 2, 3]
, cây có thể trông giống như
┌─┼─┐
1 2 3
Nhưng mảng [[1, 2, 3]]
sẽ như thế nào
│
┌─┼─┐
1 2 3
Trong khi mảng [1, [1, [1, [1]]]]
có thể trông như
┌─┴┐
1 ┌┴─┐
1 ┌┴┐
1 │
1
Như một ví dụ phức tạp hơn, [1, [[[2, 3], 4], 5]]
có thể là
┌┴───┐
1 ┌─┴┐
┌─┴┐ 5
┌┴┐ 4
2 3
hoặc một số biến thể khác.
- Đầu vào và đầu ra có thể được cung cấp bởi bất kỳ phương pháp thuận tiện .
- Bạn có thể in nó sang STDOUT hoặc trả lại dưới dạng kết quả chức năng.
- Một chương trình đầy đủ hoặc một chức năng được chấp nhận.
- Bất kỳ số lượng khoảng trắng ngoại lai nào cũng được chấp nhận, miễn là các ký tự xếp hàng một cách thích hợp.
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn, vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất (tính bằng byte) sẽ thắng.
1
là một mảng của 3 mặt hàng: [2,3]
, 4
, và 5
. Nhưng 4 và 5 không liền kề.
[1, [[[2, 3]], [4], 5]]
với tôi.
[1,[[[2,3],4],5]]
có thể là một trường hợp thử nghiệm thú vị vì nó cần phải mở rộng gốc một cách nhân tạo để cây con bên phải không va chạm với cây con bên trái.