Per vincoli intendevo cose tipo: necessità (o meno) di gestire i match di andata/ritorno, quante partite in casa consecutive si possono giocare, etc.

Questo è un semplice programma scritto in Java per la generazione dei calendari.