Đưa ra một mảng có độ sâu bất kỳ, vẽ nội dung của nó với các đường viền +-|
xung quanh mỗi phân đoạn. Đó là các ký tự ASCII cho dấu cộng, dấu trừ và đường ống đứng.
Ví dụ, nếu mảng là [1, 2, 3]
, vẽ
+-----+
|1 2 3|
+-----+
Đối với một mảng lồng nhau như [[1, 2, 3], [4, 5], [6, 7, 8]]
, vẽ
+-----------------+
|+-----+---+-----+|
||1 2 3|4 5|6 7 8||
|+-----+---+-----+|
+-----------------+
Đối với một mảng rách rưới như [[[1, 2, 3], [4, 5]], [6, 7, 8]]
, vẽ
+-------------------+
|+-----------+-----+|
||+-----+---+|6 7 8||
|||1 2 3|4 5|| ||
||+-----+---+| ||
|+-----------+-----+|
+-------------------+
Lưu ý rằng có nhiều không gian hơn sau khi vẽ [6, 7, 8]
. Bạn có thể vẽ nội dung trên dòng trên cùng, giữa hoặc dưới cùng, nhưng cho dù bạn chọn gì, bạn vẫn phải nhất quán.
Thử thách này được lấy cảm hứng từ động từ hộp<
từ J.
Quy tắc
- Đây là môn đánh gôn nên mã ngắn nhất sẽ thắng.
- Nội dung giải quyết điều này không được phép.
- Mảng đầu vào sẽ chỉ chứa các giá trị nguyên hoặc mảng không âm. Mỗi mảng sẽ đồng nhất, có nghĩa là các phần tử của nó sẽ chỉ bằng các mảng hoặc chỉ các số nguyên, nhưng không bao giờ kết hợp cả hai.
- Mỗi phân đoạn có thể được lồng vào bất kỳ độ sâu nào.
- Đầu ra có thể bằng một chuỗi hoặc một chuỗi các chuỗi trong đó mỗi chuỗi là một dòng đầu ra.
Các trường hợp thử nghiệm
[]
++
||
++
[[], []]
+---+
|+++|
|||||
|+++|
+---+
[[], [1], [], [2], [], [3], []]
+-----------+
|++-++-++-++|
|||1||2||3|||
|++-++-++-++|
+-----------+
[[[[[0]]]]]
+---------+
|+-------+|
||+-----+||
|||+---+|||
||||+-+||||
|||||0|||||
||||+-+||||
|||+---+|||
||+-----+||
|+-------+|
+---------+
[[[[[4, 3, 2, 1]]]], [[[3, 2, 1]]], [[2, 1]], [1]]
+---------------------------------+
|+-------------+---------+-----+-+|
||+-----------+|+-------+|+---+|1||
|||+---------+|||+-----+|||2 1|| ||
||||+-------+|||||3 2 1|||+---+| ||
|||||4 3 2 1|||||+-----+|| | ||
||||+-------+|||+-------+| | ||
|||+---------+|| | | ||
||+-----------+| | | ||
|+-------------+---------+-----+-+|
+---------------------------------+
-1
vì tôi cũng giới hạn các số nguyên là không âm. Sau đó sẽ chỉ cần làm sạch đầu ra cho các giá trị không hợp lệ.