Nhiệm vụ
Trong thử thách này, nhiệm vụ của bạn là vẽ một đại diện nghệ thuật ASCII cho một số ngăn xếp có chiều cao tăng dần. Bạn được cho là đầu vào số lượng ngăn xếp, là một số nguyên dương. Ngăn xếp đầu tiên chứa một hộp kích thước 2x2
. Ngăn xếp thứ hai chứa 2 hộp kích thước 3x3
. Nói chung, k
ngăn xếp thứ chứa k
các hộp có kích thước (k+1)x(k+1)
.
Các đường viền của mỗi hộp được vẽ bằng các ký tự -|+
và bên trong của chúng bao gồm khoảng trắng. Các hộp liền kề chia sẻ đường viền của chúng và các góc phải luôn được vẽ +
, ngay cả khi chúng là một phần của đường viền của hộp khác.
Ví dụ
Đầu ra cho 1
:
++
++
Đầu ra cho 2
:
+-+
| |
+-+
++ |
++-+
Đầu ra cho 3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Đầu ra cho 5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Quy tắc và chấm điểm
Đầu vào có thể được nhận từ STDIN, dưới dạng đối số dòng lệnh hoặc làm đối số hàm. Đầu ra phải đi đến STDOUT hoặc tương đương gần nhất. Bất kỳ số lượng khoảng trắng hữu hạn nào cũng được cho phép, như các dòng mới trước và sau, nhưng không thể có thêm khoảng trắng trước.
Đây là môn đánh gôn, vì vậy số byte thấp nhất sẽ thắng. Sơ hở tiêu chuẩn là không được phép.
Integer.MaxValue
như đầu vào.
Integer.MaxValue
hoặc tương đương.
n
vàn-1
tương đối chính. Hai điểm cộng sẽ không bao giờ trùng nhau.