Contenere la complessita' dell'interfaccia della procedura ricorsiva signififica ipotizzare che la configurazione passata come parametro alla stessa abbia in definitiva una struttura semplice, descrivibile in modo compatto. Sarebbe bello che ... l'induzione si chiudesse nel mondo delle configurazioni con la seguente struttura: partendo da sinistra verso destra, prima vengono alcune colonne completamente piene, poi vengono delle colonne parzialmente piene ma esse sono al piu' O(1), infine seguono colonne del tutto vuote. Ci sta? (Riusciamo a farcelo stare progettando opportunamente il branching?) Se si vuol dire che le possibili chiamate diverse non sono poi cosi' tante. Possiamo/conviene volere di piu'? Esempi di volere di piu': - volere la costante O(1) piccola. - volere che tutte le posizioni a sinistra di una posizione libera siano libere. La seconda sembra troppo forte se e' consentito di collocare un solo pezzo alla volta. Tuttavia puo' risultare favorevole complicare la generazione di figli per avere una struttura semplice del problema generico. IN effetti questo e' quanto e' stato fatto nella soluzione hanoi.cpp proposta, semplicemente collocando ulteriori pezzi quando cio' era forzato dal collocamento del primo pezzo.