Помните те забавные вертушки, которые вы дуете, и они вращаются вокруг и вокруг? Давайте код один!
Вертушка будет иметь набор символов, \ | / _
рисующих его центр и руки. Один из возможных вертушек может выглядеть так:
|
|
|_ ___
___|_|
|
|
|
Но что за вертушка, которая не вращается? Не весело! Мы можем заставить его вращаться, переставляя символы:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
Задача состоит в том, чтобы создать программу, которая принимает три целых числа и выводит вертушку, как указано ниже. Первое из них - это количество рычагов, которое у него есть, второе - это длина рычагов вертушки, а третье - это количество раз, которое он будет вращать на одну восьмую оборота по часовой стрелке.
Вы можете предположить следующее:
- Количество рук всегда будет 0, 1, 2, 4 или 8.
- Все руки будут одинаково разнесены друг от друга.
Начальная позиция вертушки будет иметь центр, как это:
_ |_|
Если количество рук равно 1, вы можете решить, в каком направлении указывает рука.
- Если количество рук равно 2, вы можете сделать так, чтобы руки были направлены вертикально или горизонтально.
Вы можете написать полную программу, которая принимает ввод через STDIN или аргумент командной строки, или функцию, которая принимает ввод через аргументы функции. Ваша программа должна показывать последовательность выходов, которая показывает вращение вертушки, каждый из которых разделен хотя бы одной пустой строкой. Центр вертушки не должен перемещаться более чем на одно пространство. Вы можете вывести столько начальных и конечных пробелов, сколько необходимо.
Вот некоторые примеры:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
Это код гольф, поэтому выигрывает самый короткий код. Удачи!
1 3 5
и рычага, первоначально направленного вверх), для более ранних выходов необходимо будет вставить пробелы, чтобы приспособиться для этого.