Questo genere di problemi, apparentemente banali, sottendono un certo grado di ragionamento logico-combinatorio oltre a richiedere una conoscenza idonea del reale meccanismo che si vuol implementare: esisteranno sicuramente delle regole o condizioni da 'imporre' per la composizione delle ore, per esempio la presenza di materie che necessitano di ore contigue (es. Matematica nei Licei Scientifici o genericamente Educazione Fisica in qualunque unità didattica).
Altro aspetto da considerare è la presenza di soggetti da combinare: tutti i professori insegnano la stessa materia in tutte le classi? Tutte le classi hanno lo stesso numero di ore per materia?
Sono previsti insegnamenti multipli da parte di un docente?
Insomma, al di là dell'algoritmo da implementare (e del linguaggio che utilizzerai), specifica queste condizioni.

Rispondi quotando