Bất kỳ hình lục giác thông thường có thể được lát bằng kim cương, ví dụ như vậy:
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
Chúng tôi sẽ xem xét kích thước trên 1
(vì các mặt của kim cương được làm bằng một /
hoặc \
mỗi cái). Các lát tương tự của kích thước 2
sẽ trông giống như:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
Nhiệm vụ của bạn là nhận được một lát gạch nghệ thuật ASCII như vậy (có kích thước 1
) làm đầu vào, cùng với một số nguyên dương N
(theo số thập phân hoặc đơn nguyên), chỉ định kích thước của đầu ra mong muốn. Sau đó, bạn nên xuất phiên bản thu nhỏ của cùng một lát.
Lưu ý rằng hình lục giác có thể có kích thước bất kỳ và nhỏ bằng 1x1x1 (chứa ba viên kim cương).
Cả đầu vào lẫn đầu ra đều không chứa bất kỳ khoảng trắng ở cuối, cũng không có nhiều khoảng trắng ở đầu cần thiết hơn để căn chỉnh hình lục giác. Cả đầu vào và đầu ra có thể tùy ý chứa một dòng mới duy nhất (lựa chọn này không nhất thiết phải giống nhau cho đầu vào và đầu ra).
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và xuất kết quả qua tham số STDOUT (hoặc thay thế gần nhất), tham số trả về hàm hoặc tham số hàm (out).
Đây là mã golf, vì vậy câu trả lời ngắn nhất (tính bằng byte) trong chiến thắng.
Ví dụ nghiêng
Dưới đây là một số nghiêng đầu vào mà bạn có thể sử dụng để kiểm tra trình của mình.
__
/_/\
\_\/
____
/_/\_\
/\_\/_/\
\/_/\_\/
\_\/_/
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
________
/_/\_\_\_\
/\_\/\_\_\_\
/\/_/\/_/_/\_\
/\/\_\/_/_/\/\_\
\/\/_/\_\_\/\/_/
\/\_\/_/\_\/_/
\/\_\_\/_/_/
\/_/_/_/_/
Đoạn mã sau chứa các đầu ra tương ứng cho các đầu vào N = 1
thông qua N = 6
.
N-1
hàng trống hàng đầu. :(