Do you need any help?

HW2 Consigli su dubbio esistenziale

s
stefano.fantauzzi (2260 points)
3 6 17
asked Nov 2, 2020 in HW2 obbligatorio by stefano.fantauzzi (2,260 points)
recategorized Nov 3, 2020 by andrea.sterbini

Ciao a tutti, volevo condividere con voi un pensiero e ricevere un consiglio.

In breve ho sviluppato due diversi algoritmi che performano a differenza di pochi millisecondi e riescono a superare tutti i test. Tuttavia ragionando sono giunto alla conclusione che il più performante potrebbe in casi estremi fallire, ad esempio quando un giocatore non gioca alcuna parola. Per ora, credo ingenuamente, ho consegnato questo algoritmo. Che consiglio vi sentite di darmi?

Grazie in anticipo a chiunque accolga questa supplica laugh

223 views

3 Answers

Best answer
AdSum (16290 points)
9 20 134
answered Nov 2, 2020 by AdSum (16,290 points)
selected Nov 2, 2020 by stefano.fantauzzi
Tecnicamente non avviene mai quella condizione ( giocatore che non gioca nulla) ma se la differenza è minima io ti suggerisco di andare sull'algoritmo più completo per due motivi. Il primo ,legato al voto stesso, è che verranno effettuati dei test segreti e, per quanto ne sappiamo, potrebbero prevedere anche un giocatore che non gioca nulla. Difficile ma possibile. Il secondo motivo, un pò come consiglio di vita, la cosa più importante è l'efficacia rispetto all'efficienza. Non ti serve a nulla un programma super veloce se rischia di fallire. Meglio lento ma affidabile che veloce e inaffidabile. Quindi in conclusione, secondo me, vista la poca differenza, ti consiglio di tenere quello "sicuro". In questo modo hai il voto massimo garantito
G
Giuseppe01 (1500 points)
0 0 10
commented Nov 3, 2020 by Giuseppe01 (1,500 points)
Riguardo la questione "test segreti", avevo già scritto un commento in merito ma non ho ricevuto un feedback: secondo te c'è la possibilità che vengano fatti dei test con parole in uppercase? Il codice passa tutti i test standard anche dando per scontato che i caratteri siano sempre minuscoli. Inoltre se dovessimo considerare l'uppercase i tempi di esecuzione sarebbero inevitabilmente più lunghi (in quanto il dizionario, o eventuale altro strumento, dovrebbe considerare il doppio dei casi e su milioni di accessi si sente).

Tuttavia le parole in uppercase sono un input valido, e così si pone un altro dubbio esistenziale (a dirla tutta, più finalizzato a comprendere i criteri di valutazione che a definire l'approccio in generale). :)
AdSum (16290 points)
9 20 134
commented Nov 3, 2020 by AdSum (16,290 points)
Nessuno lo sa, io personalmente non li ho presi in considerazione perchè non è stato specificato
G
Giuseppe01 (1500 points)
0 0 10
commented Nov 3, 2020 by Giuseppe01 (1,500 points)
Ok, grazie.

Nemmeno io li ho considerati, speriamo bene. :)
AdSum (16290 points)
9 20 134
commented Nov 3, 2020 by AdSum (16,290 points)
Si può sempre chiedere al professore oggi a lezione ;)
G
Giuseppe01 (1500 points)
0 0 10
commented Nov 3, 2020 by Giuseppe01 (1,500 points)
Io sono in teledidattica, se tu riuscissi a chiedere sarebbe perfetto! :)
lcrainic (3320 points)
2 4 25
answered Nov 2, 2020 by lcrainic (3,320 points)
Ciao ! Secondo il "regolamento" del gioco ogni giocatore deve giocare una parola quando è il suo turno. Il caso che tu hai nominato non dovrebbe verificarsi perché ad ogni turno un giocatore riceve una parola e deve giocarla con le carte che ha in mano fin quando non rimane con 0 carte in mano.
e
eleonora.cafaro (1130 points)
2 4 9
answered Nov 2, 2020 by eleonora.cafaro (1,130 points)
Ciao, penso che non accade per il semplice fatto che se un giocatore non gioca nessuna parola vuol significare che il numero delle lettere nel sacchetto iniziali sono bastate solo per rifornire la prima mano dei giocatori, e così facendo il giocatore prima di quello che non ha giocato nulla ha fatto finire la partita finendo la sua dim_hand e num_letter è = 0 . Quindi in sostanza l'algoritmo gira come per qualsiasi altra simulazione non trovi ? spero di essere stata convincente .