[HW8] Migliorare efficienza ultimo homework obbligatorio

D
Davide (650 points)
3 13 16
asked Dec 6, 2020 in HW8 obbligatorio by Davide (650 points)

Ciao a tutti,

c'è qualche caso particolare da riconoscere in modo da evitare di fare lavoro inutile e allungare i tempi?

Io per adesso faccio partire la ricorsione soltanto se l'indizio corrente è giusto (ovvero se sto seguendo passo passo le sequenza di clues) ma il test expo10 mi impiega quasi 0.5 sec. Ho anche dei dubbi sul significato di questa nota:

se in una certa città NON C'È l'istruzione corrispondente al prossimo indizio...

Un saluto e buona domenica

2 Answers

ManoleLorenzo (4090 points)
0 5 10
answered Dec 6, 2020 by ManoleLorenzo (4,090 points)
Buongiorno anche a te,

Quali sono i tuoi dubbi su quella nota?
D
Davide (650 points)
3 13 16
commented Dec 6, 2020 by Davide (650 points)
Buongiorno,

non capisco che significa "istruzione corrispondente al prossimo indizio". Non so che tipo di controllo devo fare e chiedevo anche come ottimizzare il codice.
ManoleLorenzo (4090 points)
0 5 10
commented Dec 6, 2020 by ManoleLorenzo (4,090 points)
Per quanto riguarda l'ottimizzazione, per ora non posso esserti di grande aiuto, in quanto sto ancora lavorando alla struttura generale del programma, e ancora non mi sono posto il problema di risolvere la velocità d'esecuzione.

Mentre posso dirti che la nota fa riferimento a questo:

Nikita come ben sai, deve arrivare ad ottenere delle informazioni segrete e per fare questo si avvale degli indizi che trova sparsi per varie città del mondo. Mano mano che si reca nelle varie destinazioni, in queste a loro volta, la portano ad altre città per continuare a scoprire sempre più parole per ottenere l'informazione segreta che sta cercando. Quindi come nell'esempio riportato nella traccia dell'Hw, puoi vedere il tragitto che ha fatto per scoprire l'informazione segreta:

partenendo da una città iniziale ha scoperto un indizio, che a sua volta la porta in un'altra città, in cui scoprirà la prima(oppure una delle successive) parole che comporranno l'informazione segreta. E in questa città, in cui ha trovato una delle parole segrete, troverà anche il prossimo indizio per proseguire la sua ricerca investigativa nella città corrispettiva all'indizio trovato.

Però questo potrebbe non accadere tutte le volte, perché infatti può capitare che visitando una città non trovi il successivo indizio per recarsi nella prossima e continuare il suo lavoro di spia, e quindi di ottenere le informazioni che sta cercando. Bensì si ritroverebbe sperduta in una parte del mondo, in qualche città, e non sapendo più quale pista seguire, perché la rete di spie nemiche ha distrutto l'informazione(indizio), è costretta rimettersi in viaggio, tornando sui propri passi, e seguire un'altra pista che magari prima ha abbandonato oppure deve tentarne una nuova.

Ma devi tenere in considerazione che scovata l'ultima parola segreta, non trovi più indizi per proseguire la sua ricerca, perché è arrivata alla conclusione "del mistero", e quindi ha trovato l'informazione che stava cercando e pertanto non ha più bisogno di indizi.

Spero di esserti stato d'aiuto in qualche modo.

Se non dovesse essere abbastanza chiaro, tenterò di rispiegarlo con parole diverse.
D
Davide (650 points)
3 13 16
commented Dec 6, 2020 by Davide (650 points)
Sì, grazie mille, dovrei aver capito e come dice Giuseppe sotto dovrei già averlo gestito il caso. Ad esempio con indizi 'A', 'B', 'C':

se la città x con indizio 'A' mi porta alla città y con indizio 'C' allora posso lasciar perdere questo percorso in quanto non ho rispettato la successione 'A', 'B',' 'C' giusto? (sono passato direttamente da 'A' a 'C')
G
Giuseppe01 (1500 points)
0 0 10
answered Dec 6, 2020 by Giuseppe01 (1,500 points)
Ciao, non credo sia una questione di casi particolari (a meno che non mi siano sfuggiti ovviamente). Forse dipende da come cerchi le informazioni da processare dato l'indizio corrente.

Riguardo il tuo dubbio, credo significhi che potresti trovare un indizio nella città A che ti porta nella città B, ma poi nella città B l'indizio contenuto nell'istruzione non corrisponde a quello che ti aspetteresti di trovare lì (dato il progresso nella sequenza di indizi) e in tal caso puoi uscire da quel ramo di ricorsione. In base a ciò che hai scritto credo tu stia già considerando quella situazione.