Bạn có nhớ những chiếc đinh ghim thú vị mà bạn thổi vào và chúng quay tròn và tròn không? Hãy mã một!
Một pinwheel sẽ có tập hợp các ký tự \ | / _
vẽ trung tâm và cánh tay của nó. Một pinwheel có thể có thể trông như thế này:
|
|
|_ ___
___|_|
|
|
|
Nhưng những gì một bánh đà không quay? Không vui! Chúng ta có thể làm cho nó quay bằng cách sắp xếp lại các biểu tượng:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
Thách thức là tạo ra một chương trình lấy ba số nguyên và xuất ra một vòng quay như được chỉ định dưới đây. Đầu tiên trong số này là số cánh tay mà nó có, thứ hai là chiều dài của cánh tay của con quay và thứ ba là số lần nó sẽ quay một phần tám của một cuộc cách mạng theo chiều kim đồng hồ.
Bạn có thể giả sử như sau:
- Số lượng vũ khí sẽ luôn là 0, 1, 2, 4 hoặc 8.
- Tất cả các cánh tay sẽ cách đều nhau.
Vị trí ban đầu của bánh đà sẽ có tâm của nó như thế này:
_ |_|
Nếu số lượng cánh tay là 1, bạn có thể quyết định hướng nào của cánh tay.
- Nếu số lượng cánh tay là 2, bạn có thể quyết định làm cho cánh tay chỉ theo chiều dọc hoặc chiều ngang.
Bạn có thể viết một chương trình đầy đủ nhận đầu vào thông qua STDIN hoặc đối số dòng lệnh hoặc một hàm lấy đầu vào thông qua các đối số chức năng. Chương trình của bạn phải hiển thị một chuỗi các kết quả đầu ra cho thấy vòng quay của pinwheel, mỗi vòng được phân tách bằng ít nhất một dòng trống. Trung tâm của vòng quay không được di chuyển nhiều hơn một khoảng trống. Bạn có thể xuất ra càng nhiều khoảng trống hàng đầu và dấu nếu cần.
Dưới đây là một số ví dụ:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
Đây là mã golf, vì vậy mã ngắn nhất sẽ thắng. Chúc may mắn!
1 3 5
và cánh tay hướng lên trên), không gian sẽ cần được đặt trước trong các đầu ra trước đó để phù hợp với điều này.