Задача
Самый короткий код по количеству символов, который будет выводить музыкальную нотацию на основе пользовательского ввода.
Ввод будет состоять из серии букв и цифр - буквы будут представлять имя примечания, и число будет представлять длину примечания. Следует отметить 4 вертикальных столбца. Заголовок заметки будет составлять капитальный O
, стебель, если он будет иметь 3 строки высотой, выполненный из символа трубы |
, а флаг будет сделан из обратного слэша \
.
Допустимые длины заметки отсутствуют, 1/4 заметки, 1/8 заметки, 1/16 заметки и 1/32 заметки.
| |\ |\ |\
| | |\ |\
| | | |\
O O O O O
1 1/4 1/8 1/16 1/32
Заметки - это места в Штате, в соответствии с их названием:
----
D ----
C
B ----
A
G ----
F
E ----
Все входные данные можно считать допустимыми и без ошибок. Каждая заметка разделяется пробелом на одной строке с хотя бы одной допустимой записью.
Тестовые примеры
Input:
B B/4 B/8 B/16 B/32 G/4 D/8 C/16 D B/16
Output:
|\
--------------------------|---|\--------
| |\ |\ |\ | |\ |\
------|---|---|\--|\-----O----|--O----|\
| | | |\ | O |
-O---O---O---O---O----|--------------O--
|
---------------------O------------------
----------------------------------------
Input:
E/4 F/8 G/16 A/32 E/4 F/8 G/16 A/32
Output:
--------------------------------
--------------|\--------------|\
|\ |\ |\ |\
------|\--|\--|\------|\--|\--|\
| | | O | | | O
--|---|--O--------|---|--O------
| O | O
-O---------------O--------------
Input:
C E/32 B/8 A/4 B F/32 B C/16
Output:
------------------------------|\
|\ |\
----------|---|---------------|-
O | | O
---------O----|--O----|\-O------
|\ O |\
------|\--------------|\--------
|\ O
-----O--------------------------
Количество кодов включает ввод/вывод (т.е. полную программу).