挑战
按字符数计算的最短代码,将根据用户输入输出乐谱。
输入将由一系列字母和数字组成——字母代表音符的名称,数字代表音符的长度。一个注释由 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--------------------------
代码计数包括输入/输出(即完整程序)。