Với mục đích của câu hỏi này, một đường cong uốn khúc là một đường cong theo hướng chung từ trái sang phải, nhưng thực hiện liên tục n + 1 quay ở 90 độ sang trái và sau đó n + 1 quay sang phải (với n> 0).
Trong thực tế, bản thân uốn khúc sẽ có n
phân khúc.
Các lượt được ký hiệu với +
.
Chiều rộng của các khúc quanh (khoảng cách giữa hai +
) là 3 ở đường chân trời ( ---
) và 1 ở dọc ( |
)
Dưới đây là các phân đoạn duy nhất một đường cong uốn khúc với kích thước n từ 1 đến 5:
+-------------------+
| |
+---------------+ | +-----------+ |
| | | | | |
+-----------+ | +-------+ | | | +---+ | |
| | | | | | | | | | | |
+-------+ | +---+ | | +---+ | | | +---+ | | |
| | | | | | | | | | | | | |
+---+ +---+ | +---+ | | +-------+ | | +-----------+ | |
| | 1 | | 2 | | 3 | | 4 | | 5
---+ +-------+ +-----------+ +---------------+ +-------------------+ +
Thử thách:
Cho hai số dương n
và m
vẽ m
các đoạn của đường cong uốn khúc có kích thước n
. Bạn có thể viết một chương trình đầy đủ hoặc một chức năng.
Đầu vào:
n
> 0 Kích thước của đường cong
m
> 0 Số lượng phân khúc để vẽ
Đầu ra:
Một đại diện ASCII của đường cong uốn khúc.
Ví dụ:
n = 3
m = 2
+-----------+ +-----------+
| | | |
| +---+ | | +---+ |
| | | | | | | |
+---+ | | +---+ | |
| | | |
-----------+ +-----------+ +
n = 2
m = 5
+-------+ +-------+ +-------+ +-------+ +-------+
| | | | | | | | | |
+---+ | +---+ | +---+ | +---+ | +---+ |
| | | | | | | | | |
-------+ +-------+ +-------+ +-------+ +-------+ +
n = 4
m = 4
+---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | |
| +-------+ | | +-------+ | | +-------+ | | +-------+ |
| | | | | | | | | | | | | | | |
| +---+ | | | +---+ | | | +---+ | | | +---+ | |
| | | | | | | | | | | | | | | |
+-------+ | | +-------+ | | +-------+ | | +-------+ | |
| | | | | | | |
---------------+ +---------------+ +---------------+ +---------------+ +
Tiêu chí chiến thắng:
Đây là mã golf , vì vậy mã ngắn nhất tính theo byte trong mỗi ngôn ngữ sẽ thắng. Vui lòng giải thích mã của bạn, nếu bạn có thời gian để làm điều đó.
n
rẽ trái sao?
n+1
khi nhìn vào các ví dụ, đặc biệt là giữa các phân đoạn đơn ..