La cosa si è svolta così:
Ho perso un paio di ore a cercare di trovare un metodo (a manina, quindi con un bel foglio e una matita) per stabilire l'ordine degli incontri.
La prima cosa che mi è venuta in mente è stata quella di stabilire quali debbano essere le partite da giocare affinchè tutti giochino con tutti. Supponendo 6 squadre (da 1 a 6) gli incontri saranno
12 13 14 15 16 23 24 25 26 34 35 36 45 46 56
sono quindi due cicli annidati in cui il primo indice va da 1 a n-1 e il secondo va dal primo indice +1 fino ad n
Ed hai così l'elenco delle partite da giocare. Ho quindi cercato di stabilire un ordine partendo da questo elenco ma non ci sono riuscito. Quindi mi sono detto. E' ovvio avviare le partite nell'rodine in cui si presentano le squadre:
12 34 56
L'elenco delle partite da giocare diventa
13 14 15 16 23 24 25 26 35 36 45 46
La squadra più riposata è la 1 ma con chi farla giocare? la 2 ma la partita non è più disponibile. La 3? sì
Partite giocate 12 34 56 13
Partite da giocare 14 15 16 23 24 25 26 35 36 45 46
Ora la più ripostata è la 2 ma con chi gioca? La 3 ha appena giocato quindi la 4 e dato che la partita 24 è ancora da giocare
12 34 56 13 24
14 15 16 23 25 26 35 36 45 46
Ora tocca alla 5 ma con chi? Con la 6 ha giocato, ma con la 1 no ed essendo la partita disponibile
12 34 56 13 24 15
14 16 23 25 26 35 36 45 46
Ora la più riposata è la 6 ma con chi farla giocare? La più riposata è la 3 e la partita 36 non è ancora stata giocata e via
12 34 56 12 13 24 15 36
14 16 23 25 26 35 45 46
E vai avanti così finchè le partite da giocare non sono finite.
Quindi hai un ciclo principale che termina quando hai svuotato il contenitore delle partite da giocare e dentro questo un metodo (ciclo) per individuare la squadra più riposata quindi stabilire una seconda squadra, da quella più riposata a quella meno, con la quale la partita non sia stata giocata. Se individui la partita rimuovi questa partita dal contenitore delle partite e la aggiungi a quelle da giocare e ripeti il processo. Se non individui la partita, perchè evidentemente la prima squadra ha giocato tutte le sue partite, allora prendi come prima squadra la seconda più riposata e cerchi una seconda squadra con cui farla giocare.
Alla fine avrai popolato il contenitore delle partite giocate che ti da la sequenza e svuotato il contenitore della partite da giocare
Questo è l'algoritmo che sono riuscito ad individuare applicato nella paginetta che ti ho linkato. Di sicuro non è il migliore possibile ma è una prima soluzione.
![]()