Зомби-апокалипсис наступил, и мир подходит к концу. Внезапно кто-то обнаруживает формулу, которая берет текущий час, минуту и день, и выплевывает идеальную ноту для игры на пианино, которая мгновенно убивает каждого зомби, который ее слышит. К сожалению, в мире остался только один пианист, и он забыл, как читать ноты, но он все еще знает, как читать ноты. Конечно, это очень чувствительная ко времени вещь, поэтому вполне естественно, что компьютер это делает. 1
Ваша задача - сделать заметку, например G
, и вывести заметку, помещенную на посох (в скрипичном ключе), например:
-----
-----
|
---|-
|
--O--
-----
Спецификация:
- Вы должны вывести ряд чередующихся строк
-----
(5 штрихов) и пустую строку. Всего будет 5-----
с. Записка должна быть наложена поверх этого персонала. - На входе будет указано, где находится заметка. Вход будет:
- необязательный
H
илиL
, указывая "высокий" или "низкий" - письмо от
A
до сG
указанием поля - необязательный
#
илиb
, указав острый или плоский.
- необязательный
- «Примечание» определяется как:
- Один
O
(заглавная O) выровнен по центру посоха, который находится на месте записки. (Верхняя строкаHF
(высокая F), а нижняя строкаE
(нормальная E).) - Три
|
с (вертикальные полосы), стебель, который будет:- один пробел слева от примечания и спуск вниз (начиная с одного пробела ниже примечания), если примечание находится в средней строке (
B
) или выше, или - один пробел справа от примечания и переход вверх (начиная с одного пробела выше примечания), если примечание находится ниже средней линии.
- один пробел слева от примечания и спуск вниз (начиная с одного пробела ниже примечания), если примечание находится в средней строке (
- A
#
илиb
один пробел слева от примечания, если он указан во входных данных.
- Один
- Строки книги должны быть добавлены, если примечание слишком высоко или низко. Эти линии будут
---
(только 3 штриха по ширине, а не 5) и появятся только в том случае, если примечание находится на или выше / ниже (для линий верхней / нижней бухгалтерской книги соответственно) линий бухгалтерской книги. - Посторонние места могут быть размещены где угодно. например, вы можете сделать так, чтобы пустые строки имели пробелы или пробелы после строк главной книги, если это поможет вам сохранить любые символы.
Вот визуализация для более легкого понимания спецификации со всеми именами примечаний рядом со строками:
HB
--- HA
HG
----- HF
HE
----- HD
HC
----- B
A
----- G
F
----- E
D
--- C
LB
--- LA
LG
--- LF
... (bottom cut off for brevity, you get the idea anyway)
Вот еще несколько примеров, которые вы можете использовать для тестирования вашей программы:
Входные данные: HG#
#O
-|---
|
-|---
-----
-----
-----
Входные данные: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
Входные данные: HB
O
|--
|
-|---
-----
-----
-----
-----
Входные данные: C
-----
-----
-----
-----
|
---|-
|
-O-
Это код-гольф , поэтому выиграет самый короткий код в байтах!
1: самая реалистичная экспозиция evar! :-П
#
илиb
справа от примечания, а не слева; это действительно то, что требуется?