Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Consigli sulla ricorsione

kevincukaj (660 points)
2 6 10
in HW8 obbligatorio by (660 points)
recategorized by
Fin ora sono riuscito a passare soltanto metà dei test.

La funzione ricorsiva che ho implementato, partendo dalla città iniziale, va fino in fondo all'albero cercando il segreto di ogni città. Il problema ho riscontrato è che quando la funzione risale l'albero ritornado il segreto per ciascuna città, tronca la stringa appena trova uno sdoppiamento del percorso (più percorsi a partire da quella città).

 La logica che uso e che non funziona è:  per ogni città che si raggiunge con un indizio, trovo tutte le altre città raggiungibili a partire da quella città e implemento un ciclo for sulla funzione ricorsiva.

Voglio precisare che non faccio uso di dizionari.
496 views

3 Answers

O
Oakandrew (6400 points)
7 27 64
by (6.4k points)
Salve,

cmq dovresti associare in qualche maniera un percorso ai percorsi successivi(multipli), a questo ti potrebbe servire il dizionario
kevincukaj (660 points)
2 6 10
by (660 points)
vedo se riesco a fare qualcosa. grazie
O
Oakandrew (6400 points)
7 27 64
by (6.4k points)
f
fabio.chiarini (2280 points)
0 0 7
by (2.3k points)
Ciao, non per forza devi "risalire" l'albero (anch'io inizialmente ho fatto così, ma non riuscivo più a venirne a capo). Impostando la funzione ricorsiva in modo un po' diverso rispetto a quello che mi sembra tu abbia fatto, puoi costruirti il segreto man mano che scorri i vari nodi e, una volta arrivato ad una città finale (ovvero ad una foglia) "salvarti" il segreto completo per quel percorso. La ricorsione poi ripartirà dal nodo in cui si era interrotta precedentemente fino a raggiungere un'altra foglia ecc...
kevincukaj (660 points)
2 6 10
by (660 points)
grazie del consiglio. Domani proverò a cambiare qualcosa
CiZ (3810 points)
5 13 21
by (3.8k points)
Posso chiederti se hai risolto il tuo problema? Se sì, avresti qualche consiglio?