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

Do you need help?

Hw2 fallimento del test con 100000 parole in italiano

F
FraDepe (360 points)
4 6 7
in HW2 obbligatorio by (360 points)
Salve a tutti,

ho svolto l'hw2 obbligatorio ma quando vado a fare i test, l'unico che non viene passato è quello con 100000 parole in italiano a causa del risultato che è diverso da quello che si aspetta. Non capisco come sia possibile che è l'unico che non passa, perchè se il ragionamento che sta dietro al mio codice fosse errato, allora non dovrebbe passarmi nemmeno i test con più parole. Ho ricontrollato tutto il codice e non riesco veramente a capire cosa sia sbagliato. Qualcuno sa dirmi dove potrei ricontrollare e dove potrebbe essermi sfuggito qualcosa?

Grazie in anticipo
377 views

5 Answers

C
ChristianSt (1790 points)
3 9 25
by (1.8k points)
edited by
Per cercare di comprendere come replicare un caso simile al tuo ho modificato il valore di una lettera, cambiando il valore della lettera 'j' da 8 a 7 ho notato che 9 test passano e 8 test falliscono. Visto che non ti va in timeout, e tutti gli altri test vanno bene, io ti consiglierei di controllare i valori che assegni alle lettere.
F
FraDepe (360 points)
4 6 7
by (360 points)

Gia fatto, tutti i valori sono giusti frown

C
ChristianSt (1790 points)
3 9 25
by (1.8k points)
Mi dispiace, e' un comportamento abbastanza strano, hai visto il risultato che si aspetta e quello che gli fornisci? vedi di quanto differiscono, ti potrebbe aiutare nel capire cosa e' andato storto. Good luck :)
SimoneBd96 (3030 points)
6 12 33
by (3.0k points)
Se ti sfugge solo un test, potrebbe essere che non hai gestito un caso particolare, purtroppo non è facile trovare il baco, quello che ti consiglio è come prima cosa di giocare molto con il debugger, e vedere effettivamente come lavora la tua soluzione ovviamente, l'input è grande quindi ci vorrà pazienza, cerca anche di capire dove esattamente è diverso perché così potresti capire qual'è il caso che non gestisci. Se proprio non funziona così alle volte (non sempre) la cosa migliore è mettere in discussione pesantemente la propria soluzione e provare ad editarne una nuova utilizzando delle cose che siamo sicuri che nella soluzione precedente ha funzionato, mi spiace che sono stato generico, spero possa esserti d'aiuto. Buon lavoro collega!
F
FraDepe (360 points)
4 6 7
by (360 points)
Ho appena provato a fare il debug con il test da 1000 lettere e mi sembra sia tutto giusto. Mi sa che a questo punto mi tocca provare a ragionare con un codice nuovo.
iris (390 points)
0 0 3
by (390 points)
Ciao, prova a controllare i casi che hai analizzato, ad esempio se hai considerato il caso in cui le lettere pescabili rimaste sono pari a quelle appena giocate e non solo maggiori o minori.
F
FraDepe (360 points)
4 6 7
by (360 points)
Sisi il mio codice analizza tutti e 3 i casi
SimoneModiga (3370 points)
7 18 34
by (3.4k points)
Io nel mio algoritmo per evitare errori del genere ho messo a fine turno di ogni giocatore una condizione, in cui se la mano del giocatore fosse andata a zero sarebbe uscito subito dal gaming, poichè nel mio algoritmo se levo punti dalla mano di default significa che num_letters è a zero.

Ora non so se sia questo il problema, o se già hai implementato qualcosa di simile.

Spero ti abbia dato uno spunto, altrimenti ti consiglio di rivederne la logica, specialmente in punti che ritieni cruciali, andando a mettere qualche condizione in piu' dove serve.
F
FraDepe (360 points)
4 6 7
by (360 points)

L'ho già messa questa condizionefrown

F
Figara93 (560 points)
1 2 7
by (560 points)
se tutti i valori sono giusti, potresti ricontrollare come hai impostato la parte finale del tuo codice, prova ad analizzare l'errore interessato nei vari step e controllare cosa non torna dal risultato desiderato