Afinant l'Arpa


Enviar solució

Punts: 7
Temps Límit: 2.0s
Límit de memòria: 64M

Autor/a:
tipus del problema
Arrays/Llistes
Categoria
Lliga de Programació FP
Llenguatges permesos
C#, C++, Haskell, Java, Kotlin, PHP, Python

Arpa

En el marc del Programa Erasmus, estudiants de diversos països europeus col·laboren en projectes interdisciplinaris que combinen música i informàtica. Un dels projectes més enginyosos consisteix en una App per ajudar a afinar l’arpa.

El programa analitza els sons produïts per l’arpa i proporciona instruccions per arreglar cada corda que estigui desafinada

Les cordes de l'arpa estan etiquetades de la A a la T: A, B, . . . , T.

Cada instrucció inclou un grup de cordes, si s’han d’estrènyer o afluixar, i quantes voltes cal donar.

Malauradament, la sortida del programa no és gaire fàcil d’utilitzar. Totes les instruccions d’afinació es mostren en una sola línia. Per exemple, la línia AFB+8HC-4 conté en realitat dues instruccions d’afinació: AFB+8 i HC-4.

La primera instrucció indica que les cordes A, F i B de l’arpa s’han d’estrènyer 8 voltes, i la segona indica que les cordes H i C s’han d’afluixar 4 voltes.

La teva tasca és transformar una sola línia d’instruccions d’afinació per fer-les més fàcils de llegir, en anglés, es clar.

Entrada

Hi haurà una sola línia d’entrada que serà una seqüència d’instruccions d’afinació. Cada instrucció d’afinació serà una seqüència de lletres majúscules, seguida d’un signe més (+) o un signe menys (-), seguit d’un enter positiu.

Hi haurà almenys una instrucció i almenys una lletra per instrucció.

A més, cada lletra majúscula apareixerà com a màxim una vegada.

Sortida

Hi haurà una línia de sortida per a cada instrucció d'afinació. Cada línia de sortida constarà de tres parts, cadascuna separada per un sol espai: les lletres majúscules que fan referència a les cordes, tighten si la instrucció contenia un signe més o loose si la instrucció contenia un signe menys, i el nombre de voltes.

Exemple d'Entrada 1

AFB+8HC-4

Exemple de Sortida 1

AFB tighten 8
HC loosen 4

Explicació de l'exemple 1

L'entrada conté dues instruccions d'afinació: AFB+8 i HC-4.

Exemple d'Entrada 2

AFB+8SC-4H-2GDPE+9

Exemple de Sortida 2

AFB tighten 8
SC loosen 4
H loosen 2
GDPE tighten 9

Explicació de l'exemple 2

L'entrada conté dues instruccions d'afinació: AFB+8, SC-4, H-2, and GDPE+9.


Comentaris

En aquests moments no hi ha comentaris.