Digite os nomes dos times, um em cada linha, e aperte o botão azul.
Uma linda e imprimível tabela de todos-contra-todos será gerada, com os jogos balanceadamente distribuídos entre as rodadas.
A teoria da geração de tabelas de todos-contra-todos
Se você tentou fazer a tabela à mão e se decepcionou com a sua incapacidade, não fique assim, a coisa é realmente mais complicada do que parece. Para se confortar, pense que grandes campeonatos de futebol, como o Campeonato Mineiro de 2006, já tiveram a divulgação de suas tabelas atrasadas pela falta de um homem conhecedor da técnica para a distribuição efetiva das rodadas.
À primeira vista parece simples, o time A joga contra todos os outros, o time B joga contra todos os outros menos o A, o time C contra todos exceto A e B e assim por diante, você chega a uma lista com todos os jogos que devem ser jogados. Mas o difícil mesmo é saber a ordem dos jogos: se todos os times devem jogar em todas as rodadas, contra quem eles devem jogar, para que no final as combinações de jogos não se compliquem e dois times sobrem em uma rodada, já tendo jogado entre eles e esperando outros adversários, já ocupados?
Em campeonatos de 4 times dá pra fazer, mais ou menos no olhômetro, a tabela direitinho; com 5 já complica, mas com sorte e paciência ainda funciona. De 6 pra cima já beira ao impossível. Precisamos do algoritmo:
A descoberta deste algoritmo data de 1883. Há outras formas de fazer o cálculo, mas o princípio é o mesmo em todas, de modo que provavelmente a geração de todas as tabelas de campeonatos de todos os esportes mundo afora passa pelo seguinte procedimento:
Rodada 1 (A contra J, B contra I, C contra H etc.) A B C D E J I H G F
Ordena-se os times segundo qualquer ordem e divide-se-os em duas linhas (nosso exemplo segue a ordem alfabética). Anota-se aí a primeira rodada, o time da linha de cima conta o time imediatamente abaixo.
Rodada 2 (A contra I, B contra H, C contra G etc.) A J B C D I H G F E
Para a próxima rodada, giram-se os times no sentido horário (ou seja, os de cima vão para a direita, os de baixo para a esquerda, o último de cima vai para o final da linha de baixo e o primeiro da linha de baixo sobe para a linha de cima), mantendo-se um deles fixo (no caso, o A).
E assim sucessicamente, até que se chega à última rodada:
Rodada 9 (A contra B, C contra J, E contra I etc.) A C D E F B J I H G
Que é exatamente uma posição antes da posição inicial -- ou seja, caso girassem-se os times novamente, teríamos de novo a distribuição inicial dos times, perceba -- e aí completa-se o ciclo, todos jogaram contra todos, um jogo por rodada.
Para campeonatos com número ímpar de times, um time fica sem jogar a cada rodada. No algoritmo, basta adicionar um time falso à roda, e quem cair contra o time falso não joga.