p<>. Un prefix al unui şir de caractere se defineşte ca o subsecvenţă a şirului care începe de pe prima poziţie a acestuia. Definim **cel mai mare prefix comun** ($maxprefix$) a două şiruri de caractere ca fiind lungimea celei mai lungi secvenţe de caractere care este prefix şi al primului şir şi al celui de-al doilea.
p<>. Fiind date două compartimente de titluri de cărti $A=[c{~1~}, c{~2~}, ..., c{~K~}]$ şi $B=[d{~1~}, d{~2~}, ..., d{~K~}]$ definim **gradul de similitudine** al acestora ca fiind $min(maxprefix(c{~1~}, d{~1~}), maxprefix(c{~2~}, d{~2~}), …, maxprefix(c{~K~}, d{~K~}))$.
p<>. Fiind date două compartimente de titluri de cărti $A=[c{~1~}, c{~2~}, ..., c{~K~}]$ şi $B=[d{~1~}, d{~2~}, ..., d{~K~}]$ definim **gradul de similitudine** al acestora ca fiind
$min(maxprefix(c{~1~}, d{~1~}), maxprefix(c{~2~}, d{~2~}), …, maxprefix(c{~K~}, d{~K~}))$.
p<>. Sabin ar dori să scoată K cărţi din al doilea raft şi să găsească un compartiment din primul raft pentru care gradul de similitudine să aibă o valoare dată.