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

Do you need help?

Problema con test Esponenziali

a
alessio taruffi (680 points)
5 12 16
in HW8 obbligatorio by (680 points)
Salve ragazzi, sono giorni che sto scapicollandomi su una cosa:

Il mio homework passa tutti i test tranne quelli esponenziali, presentando problemi nella ricorsione

In breve:

     La ricorsione si fa con una lista di liste, ogni lista ha le 4 indicazioni [["CITTA" "clues" "CITTA" "segreto"],[...]]

          Se città e clues corrispondono appende l'indizio e va in ricorsione con una nuova città iniziale e un nuovo contatore

     Quando il contatore è lungo quanto la lunghezza dei clues siamo al caso base

Com'è possibile che non passi gli esponenziali? c'è qualche ragionamento che non ho preso in considerazione? come vedete io non uso i dizionari come molti

3 Answers

twgever (17470 points)
8 29 105
by (17.5k points)
Immagino che come errore ti dia che un il primo set è diverso dal secondo e viceversa. Visto che i segreti degli exponential sono molto lunghi, ti consiglio di provare con 2 "la", che sarebbe un exponential 2 e ti dà 9 risultati (facilmente prevedibili). una volta risolto questo caso dovrebbe essere molto facile completare il resto.

Una cosa molto buona di questo caso, inoltre, è che è molto facile da analizzare con il debugger, così che tu riesca a trovare facilmente dov'è la cosa che non quadra.
twgever (17470 points)
8 29 105
by (17.5k points)
se ti funziona in tutti gli altri test, è probabile che il problema sia nel caso base, che restituisce solo un segreto piuttosto che 3, quindi teoricamente facendo len(insieme che restituisci) dovrebbe venirti 3^9 per exp10, piuttosto che 3^10
a
alessio taruffi (680 points)
5 12 16
by (680 points)
grazie, proverò :)  Per precisare mi dice che alcuni oggetti sono nel secondo ma non nel primo, mentre negli altri quando falliva era il contrario (nel primo ma non nel secondo)
twgever (17470 points)
8 29 105
by (17.5k points)
allora è probabile che sia come ti ho detto io, infatti il primo insieme sarebbe il tuo e il secondo quello del test
a
alessio taruffi (680 points)
5 12 16
by (680 points)
Oi guarda, io ho provato a farlo con soli 2 LA e i risultati coincidono con quello che mi aspetto, tutte e 9 le combinazioni sono presenti nell'insieme (solo loro 9 ovviamente). Davvero non ho idea del perchè io fallisca i test se con 2 esponenziali fila tutto liscio, hai qualche altra idea per caso?
twgever (17470 points)
8 29 105
by (17.5k points)
prova a fare mano a mano con più la. da un certo numero di la in poi (anche solo 3 la) è difficile vedere quali sono i risultati, però è facile vedere se sono il numero giusto. Guarda se ad un certo punto cambia il numero di risultati.
a
alessio taruffi (680 points)
5 12 16
by (680 points)
ho appena provato con 3 e ho visto quali ho in output. c'è uno schema qui. il risultato sono 27 combinazioni. di queste 27 ne ottengo solo 15. Queste 15 sono rispettivamente le prime 3, poi la quarta, poi quinta e sesta le salta, poi la settima, poi ottava e nona le salta. questo schema ripetuto per i 3 sottoalberi, quindi di una città me le prende tutte e 3, delle altre 2 città foglia solo le prime saltando seconde e terze
twgever (17470 points)
8 29 105
by (17.5k points)
direi che è un problema di come salvi i risultati nelle chiamate centrali. Magari analizzando con il debugger e risolvendo questa cosa, dovresti passare questo benedetto exponential, spero
E
Edoardo Allegrini (930 points)
1 6 8
by (930 points)
Dai un'occhiata a questo link,  avevo lo stesso problema e ho risolto grazie alla risposta https://q2a.di.uniroma1.it/20744/riscontro-un-problema-solo-sui-test-exponential
M
MatteoRinaldi (440 points)
0 0 4
by (440 points)
E' possibile che se passi tutto tranne gli esponenziali è perché hai fatto il mio stesso errore: "non entravi" nell'ultima città. Cerco di spiegarmi meglio, scommetto che tu imposti la tupla ulltima città/segreto quando ti trovi nella città iniziale dell'ultima istruzione che stai considerando in un determinato ramo in cui ti sei infilato. Questo funziona con i casi non exp, ma con l'exponential quando iteri lo devi fare fino alla fine, ti devi fermare sulla foglia. Io ho risolto così, mi scuso se sono stato poco chiaro o se non ho indovinato il tuo caso.