Il modo piu' semplice a pratico per gestire le difficolta' fatte presenti negli hint precedenti sta nel ricorrere ad una ricorsione con memoizzazione (pull) piuttosto che non in una programmazione dinamica (pull). Trovate comunque un implementazione di entrambi gli approcci, ma va sottolineato che nella soluzione basata sulla ricorsione con memoizzazione e' stato inoltre facile introdurre un'ottimizzazione che consente di non calcolare nemmeno una volta le soluzioni di problemi non necessari. Questo si traduce in un gia' interessante guadagno in efficienza.