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.

casi particolari HW8

Luca_12_3 (580 points)
4 4 9
in HW8 obbligatorio by (580 points)
controllare se esistano tutte le lettere di una parola all'interno della matrice è un'azione valida o viene considerata come un caso particolare di input" e quindi "illecita"?
1.4k views

8 Answers

edoardottt (8210 points)
1 3 37
by (8.2k points)
Io sfruttare il caso particolare di un input lo vedo come:
Se input é questo --> fai questo.
Quello che proponi te a mio modo di vedere é un'ottimizzazione. Anche buona direi.
E soprattutto non é un caso particolare, o almeno comprende infiniti esempi..
g
giangidm (1930 points)
0 0 3
by (1.9k points)
Credo non sia illecita, in quanto tu vai ad analizzare le lettere della tua parola,  e se almeno una di esse  non è presente è inutile che tu perda del tempo a ricercare una parola che non troverai mai e quindi sai già che ti ritornerà -1
AlessandraIzzo (6010 points)
6 6 30
by (6.0k points)
Credo che sull'argomento "casi particolari" sarebbe meglio se venisse fatta maggiore chiarezza. Anch'io la vedo come edoardottt. Anche perché altrimenti il confine tra ciò che è lecito e ciò che non lo è sarebbe davvero labile, e svariati programmi che hanno ottenuto i punteggi massimi nei precedenti homework sarebbero da invalidare.
L
Lolloxox31 (1610 points)
14 16 26
by (1.6k points)
Sicuramente è una buona ottimizzazione :)
Andrea Sanchietti (3100 points)
5 7 40
by (3.1k points)
È una mossa validissima. Per caso particolare si intende fare output specifici per ogni test. Tu ovviamente puoi implementare una parte di codice che ti velocizza la ricerca delle parole se l'algoritmo può essere applicato ai test in modo logico
Tommaso Sgroi (12990 points)
10 11 91
by (13.0k points)
Assolutamente no, puoi farlo, non è sfruttare casi particolari, è più un "usare il cervello" evitando così controlli che si rivelerebbero inutili.
LUPOSaymon (2730 points)
2 3 27
by (2.7k points)
Ottimizzare il codice per alcuni casi particolari non significa barare, l'importante è stare attenti ed evitare che ottimizzando uno o più input l'efficienza di altri casi peggiori, ecco spiegato perché alcuni non riescono a passare i test segreti
plm (18850 points)
13 15 118
by (18.9k points)
Illecito:

se input:'banana' allora output: 7

Lecito:

se input: parolaqualsiasi allora output:len(parolaqualsiasi)

per cui no, quello che fai va benissimo