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.

Caso particolare test 02?

mivige (7870 points)
2 4 34
in HW6 by (7.9k points)
closed by

Buonasera,
ho svolto l'homework e riesco a passare tutti i test correttamente, ad eccezione del test 02 dove 'perdo' uno spostamento R. In tutta onestà non riesco a capire come sia possibile dato che controllo tutti i pixel all'interno dei singoli quadrati e che ogni altro test passa (oltre che tutte le altre cifrature all'interno del test 02).

L'errore in questione avviene alla riga 7 (indice 6), incollo qui prima la mia stringa e poi quella expected evidenziando la differenza. (Scrivo N quando non trovo nessuna rotazione)

'FNFNNNNNNNNNNNNNNNNNNRLNRRFNNNNNLLFLNLNNNNNNFFNNRRNFNFNNFNNRLNFFRNNN'

'FNFNNNNNNNNNNNNNNNNNNRLNRRFNNNNNLLFLNLRNNNNNFFNNRRNFNFNNFNNRLNFFRNNN'

L'unica spiegazione che mi sono dato è che in quel punto si presenti un caso particolare ma al momento non sono riuscito a capire quale, vi ringrazio se qualcuno saprà aiutarmi a risolvere magari avendo già incontrato lo stesso problema. 

178 views
closed with the note: la vm mi fa rischiare l'infarto

1 Answer

AL1990 (28120 points)
3 6 142
by (28.1k points)
edited by
Tutte le restanti chiavi ti escono corrette? L'unico modo per capire dove è il problema, se nel confronto o nella rotazione, è estrarre la sottomatrice in questione sia dall'immagine originale che da quella modificata, applicare una volta la rotazione e confrontarle.

La tua sottomatrice si trova alle righe/liste di indice da 24 a 27, colonne/tuple di indice da 152 a 155, della matrice ottenuta dalle due immagini.
mivige (7870 points)
2 4 34
by (7.9k points)
Come ho scritto, tutte le altre sono corrette, sempre come ho scritto la riga/lista dell’errore è la 7 quindi non capisco cosa intendi con la tua risposta…
AL1990 (28120 points)
3 6 142
by (28.1k points)
edited by
Le liste e le tuple a cui facevo riferimento io sono quelle all'interno della lista di liste di tuple che ottieni una volta fatto il load dell'immagine. Gli elementi della sottoimmagine che devi individuare ed estrarre per capire qual è il problema si trovano a quegli indici.

La riga 7 a cui fai riferimento tu è invece una delle file di tasselli che vengono individuate nell'immagine, ogni tassello è formato da 4 righe e 4 colonne di tuple, tile_size = 4, da cui ricavi gli indici sopra.

Dato che tutte le altre chiavi ti tornano corrette, prova ad estrarre queste sottoimmagini, confrontale e vedi come mai il programma ti dà N anche se sono diverse.
mivige (7870 points)
2 4 34
by (7.9k points)
Ho risolto in un altro modo e ora li passa tutti, però consegnando non passa più nemmeno un test segreto, si sarà bloccata la vm o effettivamente è possibile?
AL1990 (28120 points)
3 6 142
by (28.1k points)
Vedendo altre domande, è capitato nei precedenti hw che un programma passasse tutti i test noti ma nessun test segreto, non ti so dire però se c'è qualche problema sulla vm, forse vanno in timeout?
mivige (7870 points)
2 4 34
by (7.9k points)
Non credo vadano in timeout perché col tempo che faccio sui test standard dovrei avere anche il bonus… inoltre prima passavano tutti e ho solo aggiunto un controllo per quel caso specifico che non ha incrementato i tempi di esecuzione…
AL1990 (28120 points)
3 6 142
by (28.1k points)
Allora penso sia il controllo aggiunto che non ti fa passare i test segreti, perché da quanto scritto nel regolamento, questi test controllano che le soluzioni non siano cablate sui test noti.
mivige (7870 points)
2 4 34
by (7.9k points)
era la vm, senza cambiare nulla 34...
AL1990 (28120 points)
3 6 142
by (28.1k points)
Ottimo! Allora era solo il secondo run dei test segreti, che viene eseguito dopo i noti, che ci ha messo più tempo per terminare.