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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

percorso tra nodi HW4bis es 3

E
Emanuelebev (720 points)
5 17 24
in HW4bis by (720 points)
ho una lista con tutte le coordinate dei figli, ora devo trovare i nodi più distanti, prendendo ogni nodo e confrontare quanto dista con ciascun altro nodo. Il mio problema è che partendo dalle coordinate del primo nodo e andando ricorsivamente nelle 4 direzioni alla ricerca del nodo di arrivo, mi memorizza ovviamente tutte le coordinate dei pixel bianchi su cui passo e non riesco quindi ad "isolare" il percorso giusto. La mia idea era quella di creare tutti i percorsi indipendenti e prendere alla fine solamente quello che arriva al nodo che mi interessa

1 Answer

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Puoi farlo se pensi una cosa tipo: vado a destra, se trovo un nodo aggiungo all'insieme quel pixel, altrimenti no e vado in basso, ecc. Io invece se ricordo bene ho calcolato la distanza tra padre e figlio direttamente nella prima esplorazione. Ogni volta che vado avanti con un pixel aumento il livello della ricorsione (un parametro della funzione che parte da 0 e viene incrementato a ogni chiamata). Così quando trovi un nodo salvi quel livello nei suoi attributi e lo puoi riutilizzare dopo per vedere quanto è distante dal padre e dal padre del padre ecc
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
te le devi ricordare assieme alla lunghezza del diametro che stai costruendo
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Ritorna una tupla che contiene la distanza e i nodi da cui l'hai ottenuta
E
Emanuelebev (720 points)
5 17 24
by (720 points)
Grazie, ci provo
E
Emanuelebev (720 points)
5 17 24
by (720 points)
Sono arrivato in un punto in cui trovo solamente le due foglie appena sotto la radice con altezza maggiore. Non capisco proprio come faccio a salvare le due foglie più lontane usando il metodo che usa il professore
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Tornando una tupla tipo
distanza, nodo1, nodo2
Così sai quant'è la distanza e anche da dove a dove va