Dada uma partitura ascii, você deve ser capaz de produzir a nota e seu comprimento correspondente. A partitura conterá entre 5 e 15 notas, inclusive, e será transcrita em uma pauta. Uma pauta é composta de cinco linhas horizontais que compreendem de - (menos) caracteres separados por linhas de espaços. A linha inferior da pauta é equivalente à nota 'E'. A linha de espaços imediatamente acima da linha inferior indica um 'F' e tem um tom mais alto que o 'E' abaixo dela. Isso continua como abaixo. Observe que as notas só sobem para 'G' antes de começar novamente em 'A'. Ver abaixo:
F ----------
E
D ----------
C
B ----------
A
G ----------
F
E ----------
Observe que as letras não estão incluídas na entrada. As notas são sobrepostas no topo da pauta, usando o caractere ao (minúsculas ooh) para indicar o 'cabeçalho da nota'. Este cabeçalho da nota indica a frequência da nota e, portanto, a representação alfabética da mesma como acima. Por exemplo, uma nota colocada na partitura como abaixo indica um 'A':
----
----
----
o
----
----
Uma nota, como o 'A' acima, é chamada de 'nota completa' e seria tocada por uma batida inteira. Outras durações podem ser indicadas pela inclusão de um "caule" subindo da nota e entre zero e três "sinalizadores". Uma haste é composta de três | (barra vertical ou barra vertical) empilhados imediatamente acima da cabeça da nota. Uma haste sem bandeiras é considerada uma 'semínima' e toca por um quarto de batida. Os sinalizadores são caracteres \ (barra invertida) e estão do lado direito da haste. Cada haste reduz pela metade o tempo em que a nota é tocada. O comprimento de cada nota será um dos seguintes: uma nota inteira, semínima, colcheia, semicolcheia ou semagésima segunda. É assim que cada tipo de nota procuraria A:
--------------------
----|---|\--|\--|\--
| | |\ |\
----|---|---|---|\--
o o o o o
--------------------
--------------------
Juntar mais de uma nota fornece uma pontuação. Cada nota pode ser considerada com quatro caracteres de largura, com uma nota na primeira coluna de cada bloco de quatro caracteres. Por exemplo :
|\
----|\--|\----------
|\ | |\
----o---|---o---|\--
| o |
|---------------o---
|
o-------------------
--------------------
O exemplo acima contém as seguintes notas, em ordem: uma semínima 'G', uma trigésima segunda nota 'D', uma colcheia 'C', uma nota completa 'D' e uma semicolcheia 'B'. Cada nota na sua saída deve estar no formato letra / comprimento, em que letra é AG e comprimento é a fração do comprimento da nota quando comparada a uma nota inteira. Como exceção, o comprimento e / caractere não devem ser impressos se a nota for uma nota inteira. Cada nota na sua saída deve ser separada por um único espaço. Portanto, para a pontuação acima, seu código deve gerar o seguinte:
G/4 D/32 C/8 D B/16
- As notas estarão no seguinte intervalo: EFGABCDE F. Observe que apenas a letra precisa ser impressa; a oitava é ignorada.
- Observe que o número de linhas de entrada varia de 9 a 12, pois as notas com menos de um quarto de tempo na linha D ou superior exigirão que mais linhas sejam exibidas completamente.
- Não há meia nota neste caso.
O código mais curto vence (o espaço em branco não conta).
Edit: Corrigido erro no espaçamento em uma entrada.
Algumas entradas de amostra:
|\
----|\--|-------------------
|\ | |
|---|---o---------------o---
| o |\
o---------------|\--|\------
|\ |\ |\
------------|\--|\--o-------
|\ o
------------o---------------
Saída: B / 8 C / 8 D / 8 E / 32 F / 32 G / 32 D
----------------o-------------------
o
------------o-----------------------
o
--------o---------------------------
o
----o-------------------------------
o
o-----------------------------------
Saída: EGBDFFACE
|\
|\
|\
------------o-------|-----------
| o | |\
|---|\--------------|---|\------
| | o |\
o---|---|\--------------o---|\--
o |\ |\
--------|\------------------|---
o o
--------------------------------
Saída: B / 4 A / 8 F / 32 F / 32 EC / 4 B / 32 F / 16