Ciao a tutti!
Riuscite ad aiutarmi a capire dove sta l’errore nel mio codice per risolvere piano degli studi?
Ottengo 10/100 punti, solo i primi 5 casi sono giusti.
Ho il dubbio di aver sbagliato la condizione dell’if dentro i due cicli, ma non saprei come risolvere
Ho sottomesso il tuo codice con due piccole modifiche:
sort(corsi, corsi+N,cmp);
per riordinare l’array corsi
in base alla fine del corso sfruttando la funzione
int cmp(Corso a, Corso b)
{
return a.fine < b.fine;
}
Questo perchè quando ricerchi i valori successivi con il for interno sai già che avranno una fine maggiore rispetto a quella presa in considerazione. Altrimenti rischi di ritrovarti con degli intervalli “disordinati”.
Aggiungendo queste piccole modifiche riesci a prendere 70 punti. Per prendere il massimo invece devi pensare a come ricercare velocemente l’intervallo, che non si sovrappone, più vicino e non quello maggiore.
1 Mi Piace