richiede la programmazione dinamica