チャレンジ
ユーザー入力に基づいて楽譜を出力する、文字数による最短コード。
入力は一連の文字と数字で構成されます。文字は音名を表し、数字は音の長さを表します。ノートは縦 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 ----
すべての入力は有効で、エラーがないと想定できます - 各メモは空白で区切られた 1 行に、少なくとも 1 つの有効なメモがあります。
テストケース
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--------------------------
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。