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.

Es 3 Homework 2 - Ottimizzare Algoritmo

A
AlessandroB (1100 points)
3 7 13
in Es3 by (1.1k points)
Per risolvere l'esercizio 3, dopo aver memorizzato i dati nelle varie liste, mi creo una lista di movimento per i due robottini, nel senso che per ogni incremento, incremento appunto le coordinate del robottino e le inserisco in una lista movimenti, per esempio da questi incrementi [5,-2,-2,2,4] ottengo una lista (movimenti) [[1,6],[3,6],[5,6],[5,8],[9,8]] e poi successivamente vado a fare i vari confronti, eliminando le coordinate dalla lista movimenti ogni volta che la x è minore della x della tupla della lista delle coordinate dei quadratini(posso farlo perché ho ordinato la lista di tuple) , l'algoritmo funziona, ma non passa il test "mp4.txt", penso che ci metta più di un secondo perché creo questa lista di movimenti ma non riesco a trovare un altro modo per risolverlo

2 Answers

Light (5130 points)
59 181 229
by (5.1k points)
scusa non ho capito bene perche elimini le coordinate dalla lista movimenti..perche lo fai?
A
AlessandroB (1100 points)
3 7 13
by (1.1k points)
Perché quando poi passo alla tupla successiva non devo controllare le coordinate che ho giá controllato
Light (5130 points)
59 181 229
by (5.1k points)

ah si ci sta diciamo anche se non hai problemi perche se vedi gli esempi map vanno sempre avanti le coordinate ovvero passano sempre da (3,10) (3,100) (3,1000) non troverai mai coordinate piu piccole che devi controllare indietro...non so se puo aiutare questo fattosad

andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Non lo date per scontato, nel test aggiuntivo tutte le assunzioni che fate saranno stravolte
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)

Può essere utile ottimizzare la lista dei movimenti sommando tra loro i movimenti consecutivi omogenei. 

io ad esempio ho una lista movimenti di questo tipo:

[(1, 1), (1, 6), (5, 6), (5, 8), (9, 8)] come puoi vedere non ho la tupla (3, 6) perché è intermedia tra (1, 6) e (5, 6) quindi non mi serve.

Per quanto riguarda la cancellazione potresti ovviare "salvandoti" l'index della lista da cui vuoi ripartire al successivo confronto