Ось простий художній сніговик ASCII :
_===_
(.,.)
( : )
( : )
Давайте подружимо його. Це буде загальна закономірність для наших сноубордівців ASCII:
HHHHH
HHHHH
X(LNR)Y
X(TTT)Y
(BBB)
Провідні пробіли та дужки завжди однакові для всіх сніговиків. Різні букви представляють ділянки візерунка, які можуть змінюватися індивідуально. Кожен розділ містить рівно чотири пресети для того, якими символами ASCII можна його заповнити. Змішуючи та співставляючи ці пресети для всіх восьми розділів, ми можемо зробити різні снігові люди.
Усі пресети
(Зауважте, що пробіли розміщуються на порожніх рядках, щоб форма секції завжди була правильною.)
H - це для Hat
Солом'яний капелюх
_===_
Мексиканський капелюх
___ .....
Фес
_ /_\
-
___ (_*_)
N - це ніс / рот
Нормальний
,
Крапка
.
Лінія
_
Немає
L - для лівого ока
Крапка
.
Більша точка
o
Найбільша крапка
O
зачинено
-
R - для "Правого ока"
(Той самий список, що і ліве око.)
X - для лівої руки
Звичайна рука
<
Рука вгору
\
Рука вниз
/
Немає
Y - для правої руки
Звичайна рука
>
Рука вгору
/
Рука вниз
\
Немає
Т - для Торса
Кнопки
:
Жилет
] [
Внутрішня зброя
> <
Немає
B - для Бази
Кнопки
:
Ноги
" "
Квартира
___
Немає
Виклик
Напишіть програму, яка містить вісім знакових рядків (через stdin або командний рядок) у форматі HNLRXYTB
, де кожна літера є цифрою від 1 до 4, що позначає, яку задану для використання відповідну секцію сніговика. Роздрукуйте повну сніговицю для вибивання.
Наприклад, вхід 11114411
- сніговик у верхній частині сторінки. (По-перше 1
: у нього солом’яний капелюх, по-друге 1
: у нього нормальний ніс тощо)
Ще один приклад, сніговик для введення 33232124
:
_
/_\
\(o_O)
(] [)>
( )
Деталі
Будь-які суми та комбінації провідних / кінцевих пробілів та провідних / кінцевих нових рядків дозволені до тих пір, поки ...
- у сніговика всі їх секції розташовані правильно один щодо одного, і
- ніколи не буває більше 64 символів пробілу (загальна картина становить лише 7 × 5, тому ви, ймовірно, не досягнете цієї межі).
Вам не потрібно друкувати рядки / стовпці шаблону, якщо вони містять лише пробіли. наприклад, порожній рядок солом’яної шапки не потрібно.
Ви повинні використовувати впорядкування деталей, як вони наведені вище.
Замість програми ви можете написати функцію, яка бере аргумент цифри. Вихід повинен друкуватися нормально або повертатися у вигляді рядка.
- Ви можете ставитися до вводу як ціле число замість рядка, якщо бажано.
Оцінка балів
Виграє найкоротший код у байтах.
Питання про бонус: який із 65536 відомих сніговиків ваш улюблений?