Faci o dinamica in c[ i ][ j ] in care tii numarul de transformari necesare ca sa obtii un sir de lungime i, care se brodeaza peste primele i note ale partiturii, din primele j note ale solfegiului.
O sa ai nevoie de o matrice binara [n*v], ca sa afli repede daca o anumita nota de pe o pozitie din solfegiu exista pe aceeasi pozitie si pe partitura. Apoi incerci sa obtii c[ i ][ j ] din:
c[ i ][ j - 1 ] - in cazul in care adaugi o nota
c[ i - 1 ][ j ] - in cazul in care scoti o nota
c[ i - 1 ][ j - 1 ] - in cazul in care modifici o nota (sau daca nota j din solfegiu exista pe pozitia i in partitura)
Sper ca intelegi

. Succes!