Thử thách
Mùa đông đang đến rất nhanh với nhiều nơi nhận được những lớp tuyết đầu tiên cho mùa 15/16, vậy tại sao chúng ta không phá vỡ những cỗ máy tuyết và tự mã hóa tuyết?
Cho một số nguyên n
qua STDIN, xuất ra bông tuyết Beta đại diện ASCII (như được mô tả bên dưới) ở cấp độ n
.
Bông tuyết Beta
Bông tuyết bắt đầu ở cấp 0 với một x:
x
Sau đó, trên mỗi góc, bạn thêm một trong các hình dạng sau:
x
xx
Bạn thêm hình trên vào một góc trên bên phải. Đối với góc dưới bên phải, xoay nó 90 ° theo chiều kim đồng hồ, cho góc dưới bên trái, 180 ° theo chiều kim đồng hồ và cho góc trên bên trái, 270 ° theo chiều kim đồng hồ.
Nếu bạn làm điều đó, bạn sẽ có được hình dạng sau:
x x
xx xx
x
xx xx
x x
Hãy lưu ý về hướng của các hình dạng. Tiếp tục, chúng tôi thêm nhiều hình dạng vào mỗi góc, sử dụng các quy tắc định hướng được mô tả ở trên, vào sơ đồ để có được mức 2:
x x x
xxxxxxx
xx x x xx
xxx xxx
xx x xx
xxx xxx
xx x x xx
xxxxxxx
x x x
Lưu ý rằng các hình dạng chỉ được thêm vào x
s với hai hoặc nhiều mặt lộ ra (được gọi là một góc ở trên).
Các hình dạng L có thể và sẽ chồng lấp cho các giá trị n
lớn hơn 1. Ví dụ:
Nếu mức 0 là:
x x
Sau đó, phải có sự trùng lặp ở cấp 1 (được biểu thị bằng một o
, không bao gồm o
trong đầu ra của bạn):
x o x
xxxoxxx
x x
xxxoxxx
x o x
Nhiệm vụ của bạn là xuất ra đại diện ASCII này của bông tuyết Beta.
Tặng kem
Sẽ có phần thưởng 50 rep cho chương trình ngắn nhất, khi n
âm, sẽ xuất ra bông tuyết (ở cấp độ n*-1
) dưới dạng hình ảnh hoặc đồ họa trên màn hình.
Bạn có thể có một chương trình riêng cho tiền thưởng và nhiệm vụ chính.
Chiến thắng
Chương trình ngắn nhất tính bằng byte thắng.
2 or more exposed sides
quy tắc? Trung tâm Giả sử là 0,0
sau đó 1,1
, 1,-1
, -1,-1
, -1,1
tất cả đều có 2 mặt tiếp xúc (mặt đối diện với 4 điểm khác). Không phải là hơn 3 mặt mở để tránh đổ? Hoặc thay thế, nó chỉ mở rộng nếu nó có 0 hoặc 1 hàng xóm (hồng y).